Commit Graph

2066 Commits

Author SHA1 Message Date
Alex Roitman
c75449ef78 * src/DateHadnler: Move all date parsers/displayers into new directory
svn: r6097
2006-03-08 00:55:04 +00:00
Don Allingham
81fd449823 improve family editor
svn: r6096
2006-03-07 23:49:26 +00:00
Don Allingham
464a5c2edd initialize families properly
svn: r6093
2006-03-07 03:35:46 +00:00
Don Allingham
0acfe774ff fix parameters
svn: r6092
2006-03-06 22:30:17 +00:00
Don Allingham
b20db2bf8c family drag-n-drop support
svn: r6091
2006-03-06 20:59:00 +00:00
Don Allingham
f5fc3e8cd6 event ref commit
svn: r6090
2006-03-06 05:43:47 +00:00
Don Allingham
c443e1d656 gender selection
svn: r6088
2006-03-06 05:29:24 +00:00
Don Allingham
0bd53c1a49 fix focus out event
svn: r6087
2006-03-06 05:22:45 +00:00
Don Allingham
9ffa6613a7 column editing
svn: r6085
2006-03-05 23:39:20 +00:00
Don Allingham
5ca9930d30 image changes for lock icons
svn: r6084
2006-03-05 19:06:40 +00:00
Don Allingham
dfeb7259b3 new logging scheme
svn: r6080
2006-03-05 04:31:24 +00:00
Don Allingham
71b3c72d70 relocate glade files
svn: r6075
2006-03-04 22:53:46 +00:00
Don Allingham
26ade2a6cc set version number for svn
svn: r6073
2006-03-04 16:26:31 +00:00
Don Allingham
a3aedf85ae module renames
svn: r6072
2006-03-04 16:08:52 +00:00
Don Allingham
34ed34e018 moved files to DataViews
svn: r6071
2006-03-04 15:37:04 +00:00
Martin Hawlisch
71b21cdafc * src/Models/Makefile.am: Added file
* Editors/__init__.py: Added file



svn: r6070
2006-03-04 14:29:39 +00:00
Don Allingham
9c3922b36e fix image path
svn: r6069
2006-03-04 06:45:54 +00:00
Don Allingham
7b4866ff49 create new Editors submodule
svn: r6067
2006-03-04 05:24:16 +00:00
Don Allingham
fcecd44628 module rename
svn: r6066
2006-03-04 04:35:28 +00:00
Don Allingham
e31d86d760 module rename
svn: r6065
2006-03-04 04:31:50 +00:00
Don Allingham
b6f95b2edf module rename
svn: r6063
2006-03-04 04:26:08 +00:00
Don Allingham
a6aa3d7564 fix Makefile.am files
svn: r6061
2006-03-04 02:56:23 +00:00
Alex Roitman
9ef4680cc4 * src/plugins/stock_link.png: Remove (already present in
src/images, used by ScratchPad only).
	* src/Config, src/Mime, src/images: Ignore Makefiles.


svn: r6060
2006-03-04 00:19:54 +00:00
Don Allingham
373bbe54d6 set up for installation
svn: r6059
2006-03-03 23:48:11 +00:00
Martin Hawlisch
2d93f05639 * src/Makefile.am: More updates to latest file moves/remanes to make "make distcheck" work for me
svn: r6057
2006-03-03 12:49:39 +00:00
Martin Hawlisch
190389d0ba * src/plugins/TestcaseGenerator.py: Feed in more data, support Repositories, properly set types as (id,str) tuples instead of custom strings.
svn: r6056
2006-03-03 12:31:35 +00:00
Martin Hawlisch
5b9951ddc7 2006-03-03 Martin Hawlisch <Martin.Hawlisch@gmx.de>
* src/Mime/__init__.py: Honour renamed files
        * src/Makefile.am: Images have been moved into subdir (makes "make" work again)
        * src/FamilyView.py (info_string): Done crash is None as handle was
        given (e.g. no father in family)




svn: r6055
2006-03-03 08:43:02 +00:00
Don Allingham
b558b4c748 rename module
svn: r6053
2006-03-03 04:27:56 +00:00
Don Allingham
af4480bbbc module renames
svn: r6051
2006-03-03 00:38:41 +00:00
Don Allingham
ad92730150 module renames
svn: r6050
2006-03-03 00:34:20 +00:00
Alex Roitman
7286845b75 Add Mime package
svn: r6047
2006-03-03 00:23:04 +00:00
Don Allingham
4efbaaa16c update new installation paths
svn: r6046
2006-03-03 00:17:58 +00:00
Alex Roitman
bc6848cf20 Add Config package
svn: r6044
2006-03-03 00:10:52 +00:00
Alex Roitman
72ff16c982 * src/*png, src/*jpg: move under images directory.
svn: r6043
2006-03-02 23:37:16 +00:00
Alex Roitman
595d418800 * calendar, filers: Remove directories.
svn: r6040
2006-03-02 23:08:28 +00:00
Don Allingham
b012610f40 make distcheck fixes
svn: r6039
2006-03-02 21:28:27 +00:00
Alex Roitman
7a0e24136b * src/GrampsLogger/Makefile.am (pkgdata_PYTHON): Typo.
* configure.in: Generate Makefile-s in new directories.
	* src/Makefile.am (SUBDIRS): Typo.


svn: r6036
2006-03-02 20:44:39 +00:00
Alex Roitman
3d930e6639 * *png, *jpg: Add proper svn:mime-type, remove mime-type.
svn: r6035
2006-03-02 20:19:05 +00:00
Alex Roitman
b3798a9f30 Remove .cvsignore files from all directories.
svn: r6034
2006-03-02 19:30:29 +00:00
Don Allingham
67be3992fb fixed mime types
svn: r6021
2006-03-02 16:09:34 +00:00
Don Allingham
195e0eb9b3 * src/EditSecondary.py: Base class for standard secondary object
editors (not including reference editors)
* src/AddrEdit.py: Base on EditSecondary
* src/AttrEdit.py: Base on EditSecondary
* src/LocEdit.py: Base on EditSecondary
* src/NameEdit.py: Base on EditSecondary
* src/UrlEdit.py: Base on EditSecondary


svn: r6019
2006-03-02 04:32:37 +00:00
Don Allingham
987a35f110 * src/EditPerson.py: fix focus_out_event signal handling
* src/DisplayTabs.py: provide double click/edit button handling
for back references.


svn: r6018
2006-03-01 23:27:45 +00:00
Alex Roitman
632ad860df * src/Exporter.py (Exporter): Callback support, busy cursor.
* src/ViewManager.py (ViewManager): Move progress bar handling
into DisplayState.
* src/DisplayState.py (DisplayState): Move progress bar here.
* src/Assistant.py (Assistant.set_busy_cursor): Add method.
* src/plugins/WritePkg.py: Callback support.
* src/GrampsDb/_WriteGedcom.py: Callback support.


svn: r6016
2006-03-01 06:16:36 +00:00
Don Allingham
26092c071a * src/AddrEdit.py: remove already_exist check in favor of exception
* src/AttrEdit.py: remove already_exist check in favor of exception
* src/DisplayState.py: remove already_exist variable
* src/DisplayTabs.py: handle exception
* src/EditEventRef.py: remove already_exist check in favor of exception
* src/EditFamily.py: update to derive from EditPrimary
* src/EditMedia.py: update to derive from EditPrimary
* src/EditMediaRef.py: remove already_exist check in favor of exception
* src/EditPerson.py: update to derive from EditPrimary
* src/EditPlace.py: update to derive from EditPrimary
* src/EditRepository.py:update to derive from EditPrimary
* src/EditSource.py: update to derive from EditPrimary
* src/EditSourceRef.py: remove already_exist check in favor of exception
* src/Errors.py: new exception
* src/EventEdit.py: update to derive from EditPrimary
* src/EventView.py: catch exception of window already exists
* src/FamilyList.py: catch exception of window already exists
* src/FamilyView.py: catch exception of window already exists
* src/GrampsWidgets.py: typos
* src/NameEdit.py: remove already_exist check in favor of exception
* src/PedView.py: catch exception of window already exists
* src/PersonView.py: catch exception of window already exists
* src/PlaceView.py: catch exception of window already exists
* src/Plugins.py: catch exception of window already exists
* src/UrlEdit.py: remove already_exist check in favor of exception
* src/const.py.in: dynamically determine path
* src/gramps.glade: name changes
* src/gramps.py: set path


svn: r6014
2006-03-01 05:08:11 +00:00
Alex Roitman
3ec34df9c5 * src/plugins/WritePkg.py (PackageWriter.export): Add existing
image filenames to the archive.
* src/GrampsDb/_WriteXML.py: Improve callback use, add another
strip_photo option.
* src/ViewManager.py: Typos.
* src/Exporter.py: Start for callback support.
* src/GrampsDb/_WriteGedcom.py: Callback support.


svn: r6013
2006-03-01 05:04:22 +00:00
Alex Roitman
6044ca5317 * src/ViewManager.py (ViewManager.import_data): Properly process
non-native (plugin) imports; (_do_import): factor common code into
the new method.
* src/GrampsDb/_ReadXML.py (GrampsParser.__init__): Skip updating
if callback is empty (non-callable).
* src/docgen/HtmlDoc.py (HtmlDoc.load_tpkg): Use tarfile.
* src/ArgHandler.py (ArgHandler.cl_import): Use tarfile.
* src/plugins/WritePkg.py (PackageWriter.export): Use tarfile.
* src/plugins/ReadPkg.py (impData): Use tarfile module.


svn: r6012
2006-03-01 00:26:29 +00:00
Alex Roitman
2b96e371e1 * various: merge changes made in gramps20 up until R2_0_10_real tag.
* configure.in: Bump up release number.
* Release: Version 2.0.10 "Holy Hand Grenade of Antioch" released.


svn: r6011
2006-02-28 19:54:35 +00:00
Don Allingham
c4010b28a4 * src/DisplayTabs.py: repository reference editor
* src/EditRepository.py: repository reference editor
* src/EditSource.py: repository reference editor
* src/GrampsWidgets.py: more readonly support
* src/RepositoryRefEdit.py: removed
* src/gramps.glade: repository reference editor
* src/EditRepositoryRef.py: added - repository reference editor


svn: r5993
2006-02-26 04:29:39 +00:00
Don Allingham
c0756ed94b * src/DisplayTabs.py: backreference tabs
* src/EditEventRef.py: backreference tabs
* src/EditMedia.py: backreference tabs
* src/EditMediaRef.py: backreference tabs
* src/EditPlace.py: backreference tabs
* src/EditSource.py: backreference tabs
* src/EventEdit.py: backreference tabs
* src/gramps.glade: notebook tab fixes


svn: r5987
2006-02-24 22:00:20 +00:00
Alex Roitman
8e965ac3e8 * src/RelLib/_Person.py (Person.get_handle_referents): Add
birth_ref and death_ref to the list of referents.


svn: r5983
2006-02-24 20:20:22 +00:00
Don Allingham
c157f3e50f * src/EditEventRef.py: switch to monitored widgets, place selector
* src/EventEdit.py: switch to monitored widgets, place selector
* src/GrampsWidgets.py: place selection widget
* src/GrampsDb/_GrampsDbBase.py: move completion widget, handle
place lists


svn: r5980
2006-02-24 05:05:46 +00:00
Don Allingham
72d064f5b5 * src/EditPlace.py: use monitored widgets
* src/EditSource.py: use monitored widgets
* src/EventEdit.py: use monitored widgets
* src/GrampsWidgets.py: start of monitored place
* src/GrampsDb/_GrampsDbBase.py: monitor place changes


svn: r5975
2006-02-23 03:13:15 +00:00
Alex Roitman
7c6a859323 * src/EditSourceRef.py (__init__): Typos.
* src/DisplayTabs.py (GalleryTab.add_button_clicked): Typos.


svn: r5970
2006-02-22 19:11:36 +00:00
Don Allingham
14c02180ad * src/EditMediaRef.py: added
* src/EditPerson.py: call EditMediaRef
* src/EditPlace.py: remove import ImageSelect
* src/DisplayTabs.py: media double click
* src/UrlEdit.py: Full edit functionality
* src/ImageSelect.py: removed


svn: r5969
2006-02-22 04:33:34 +00:00
Don Allingham
6a5ab6549a * src/AddrEdit.py: Full edit functionality
* src/AttrEdit.py: Full edit functionality
* src/DisplayTabs.py: call EditEventRef
* src/EditSourceRef.py: Full edit functionality
* src/EventEdit.py: separate out EditEventRef
* src/GrampsWidgets.py: Add date, menu, type handling widgets
* src/NameEdit.py: Full edit functionality
* src/gramps.glade: fix names and privacy buttons
* src/EditEventRef.py: broken out of EditEvent


svn: r5967
2006-02-22 00:12:52 +00:00
Don Allingham
7f42c25525 * src/GrampsWidgets.py: Add monitored widgets for type and combo
* src/EditFamily.py: use MonitoredType
* src/EditSourceRef.py: complete monitoring of values
* src/gramps.glade: add text field


svn: r5966
2006-02-21 05:13:15 +00:00
Don Allingham
2cab6440c2 * src/DisplayTabs.py: connect new EditSourceRef editor
* src/EditSourceRef.py: update data on save
* src/gramps.glade: hide src_edit_ref by default
* src/plugins/Makefile.am: Calendar.py and holidays.xml


svn: r5964
2006-02-20 04:59:20 +00:00
Don Allingham
3a54eb7edd * src/DisplayModels.py: display date properly
* src/DisplayTabs.py: fix create_buttons default value
* src/GrampsDb/_ReadGedcom.py: handle the "FORM" value for
PLAC definition


svn: r5956
2006-02-19 04:45:54 +00:00
Don Allingham
0be2b36826 fix character translation
svn: r5952
2006-02-17 22:40:42 +00:00
Don Allingham
807ed8f4f4 * src/GrampsDb/_GedTokens.py: fix constant table
* src/GrampsDb/_ReadGedcom.py: ALIA fix


svn: r5943
2006-02-16 15:30:59 +00:00
Don Allingham
039b7f3591 * src/DisplayTabs.py: Set up for EditSourceRef
* src/GrampsMime.py: handle special mime types
* src/gramps.glade: add sourceref editor
* src/GrampsDb/_GedTokens.py: Unused tokens, FTM 3.0 tokens
* src/GrampsDb/_ReadGedcom.py: use TOKEN_IGNORE
* src/EditSourceRef.py: added


svn: r5942
2006-02-16 05:06:40 +00:00
Don Allingham
9617f77079 * src/DisplayState.py: Manage history on db change
* src/Navigation.py: Manage history on db change


svn: r5918
2006-02-10 05:36:32 +00:00
Don Allingham
ebba95652f * src/PedView.py: fix quote
* src/PersonView.py: reset db and build tree on database reload
* src/GrampsDb/_GrampsDbBase.py: clear active on database change


svn: r5917
2006-02-10 05:10:35 +00:00
Don Allingham
8edb0798e2 * src/FamilyView.py: initialize Family
svn: r5916
2006-02-10 04:20:57 +00:00
Don Allingham
d9dad03bea * src/EditFamily.py: fix empty gramps_id for new families
* src/GrampsWidgets.py: fix empty gramps_id for new families


svn: r5913
2006-02-10 03:37:20 +00:00
Don Allingham
5cdd61e46b * src/DisplayTabs.py: fix editing of person events
* src/EditPerson.py: sort out birth/death references
* src/EventEdit.py: Handle event references properly
* src/PageView.py: Add setting default person
* src/PersonView.py: Add SetActive action
* src/ViewManager.py: move ColumnEdit action


svn: r5912
2006-02-10 01:10:52 +00:00
Alex Roitman
fc9d58a0c9 * src/data/gramps.desktop: Add French strings.
svn: r5909
2006-02-09 18:58:09 +00:00
Alex Roitman
5ba83e7761 * src/data/gramps.desktop: Improve Russian string, add Office
category.


svn: r5908
2006-02-09 18:54:13 +00:00
Don Allingham
57359f125d * src/PeopleModel.py: clear data cache
svn: r5907
2006-02-09 05:10:20 +00:00
Don Allingham
3b92398870 * src/EditFamily.py: set focus on surname
* src/EditPerson.py: hook up add child
* src/PersonView.py: fix delete person dispay
* src/ViewManager.py: re-enable bookmark functions


svn: r5902
2006-02-09 00:35:46 +00:00
Don Allingham
6c72bc6f77 * src/DisplayTabs.py: pychecker fixes
* src/EditMedia.py: Handle Note types properly
* src/EditPerson.py: minor cleanup
* src/EventEdit.py: pychecker fixes
* src/MediaView.py: Don't call NoteEditor, use EditMedia instead
* src/PageView.py: pychecker fixes
* src/PersonView.py: typo
* src/gramps.glade: Handle note types in media editor


svn: r5901
2006-02-08 21:13:05 +00:00
Richard Taylor
85b3909ae3 tidied up the class strucand added documentation to ObjectSelector
svn: r5900
2006-02-08 16:32:47 +00:00
Don Allingham
d4623258e8 * src/DisplayTabs.py: reordering items in a Gallery
svn: r5899
2006-02-08 16:20:03 +00:00
Richard Taylor
18f908c9bd fixed add button in object selector.
svn: r5898
2006-02-08 15:29:46 +00:00
Richard Taylor
80a0ab047d integrated treeview/model into objectselector.
svn: r5897
2006-02-08 15:03:06 +00:00
Don Allingham
bc81ae7f5f * src/DisplayModels.py: gobject.TYPE_STRING -> str
* src/EditFamily.py: privacy widget
* src/EditPerson.py: privacy widget
* src/EventEdit.py: save support
* src/GrampsWidgets.py: Add PrivacyButton support
* src/PageView.py: make sure active before updating rows
* src/edit_person.glade: privacy icons
* src/gramps.glade: privacy icons


svn: r5895
2006-02-08 05:08:28 +00:00
Don Allingham
4a8f8e3cd6 * src/SourceView.py: fix source query dialog, fix source deleting
svn: r5894
2006-02-07 04:16:47 +00:00
Don Allingham
768ce714f7 * src/SourceView.py: fix source query dialog
* src/ansel_utf8.py: fix unicode conversion
* src/GrampsDb/_GrampsDbBase.py: fix surname detection
* src/GrampsDb/_ReadGedcomp.py: fix note importation


svn: r5893
2006-02-07 03:07:31 +00:00
Don Allingham
8b8d359062 * src/EditFamily.py: Complete save operation, handle new family
* src/EditMedia.py: Add file selector button
* src/FamilyList.py: Save properly
* src/edit_person.glade: lock icon
* src/gramps.glade: file selector button


svn: r5892
2006-02-06 23:44:09 +00:00
Alex Roitman
8f979710ec * src/GrampsDb/_GrampsBSDDB.py (transaction_commit): Typo.
svn: r5891
2006-02-06 21:24:39 +00:00
Don Allingham
ec7a5f4658 * src/EditFamily.py: start apply operation, data saving
svn: r5890
2006-02-06 05:03:44 +00:00
Don Allingham
785631e35d * src/AttrEdit.py: remove unused parameters
* src/EditFamily.py: start apply operation


svn: r5889
2006-02-05 22:23:53 +00:00
Don Allingham
61a4dcd5f0 * src/DisplayModels.py: handle places correctly
* src/DisplayTabs.py: Add LocationTab
* src/EditPlace.py: update to use DisplayTabs
* src/ImageSelect.py: remove SelectObject
* src/LocEdit.py: use DisplayManager
* src/gramps.glade: update editors
* src/GrampsDb/_GrampsDbBase.py: use db_is_open
* src/RelLib/_Place.py: typo


svn: r5887
2006-02-05 19:00:25 +00:00
Don Allingham
b7577dc19a * src/ChooseParents.py: removed
* src/ListBox.py: removed


svn: r5885
2006-02-05 05:19:51 +00:00
Don Allingham
11ec0429f6 * src/TransTable.py: removed
* src/AddSpouse.py: removed
* src/Marriage.py: removed
* src/GrampsDb/_ReadGedcom.py: remove useless comparea


svn: r5884
2006-02-05 01:23:25 +00:00
Don Allingham
388b3bad33 * src/AddMedia.py: relative path support
* src/AddrEdit.py: add DisplayTab support
* src/DdTargets.py: repository references support
* src/DisplayTabs.py: repository reference support
* src/EditMedia.py: save support
* src/EditSource.py: save support
* src/ImageSelect.py: remove unused stuff
* src/Sources.py: use object instead of gobject.TYPE_PYOBJECT
* src/Utils.py: relative path calculator
* src/ViewManager.py: change cwd to directory of the file so that
relative paths work
* src/edit_person.glade: fix size
* src/gramps.glade: add relative path indicator
* src/GrampsDb/_ReadGedcom.py: remove useless compare


svn: r5883
2006-02-04 23:29:44 +00:00
Don Allingham
9393b15589 * src/AttrEdit.py: use DisplayTabs
* src/NameEdit.py: use DisplayTabs
* src/gramps.glade: use DisplayTabs


svn: r5882
2006-02-04 04:52:16 +00:00
Alex Roitman
c0fdb8ad27 * src/PeopleModel.py: Correct column numbers.
* src/GrampsDb/_ReadGedcom.py (parse_header_source): Typo.
* src/RelLib/_RepoRef.py (unserialize): Return unserialized object.


svn: r5881
2006-02-04 00:56:54 +00:00
Alex Roitman
01a5806681 * src/Makefile.am: Remove absent glade files from the list.
* src/GrampsDb/Makefile.am: Ship new glade files; correct directory.


svn: r5880
2006-02-04 00:12:32 +00:00
Don Allingham
6c8eae791c * src/DisplayTabs.py: Handle notes properly
* src/EventEdit.py: commit modified events
* src/PeopleModel.py: remove unused functions
* src/PersonView.py: remove debug


svn: r5876
2006-02-03 22:31:46 +00:00
Alex Roitman
de0559e32c * RelLib/_*.py: Make objects serialize all the way down to built-in
python objects, so that Gramps classes are never pickled.
* Date.py, CalSdn.py: Move to RelLib.
* src/dates/Date_*.py: Use new Date.
* src/plugins/*.py: Use new Date.
* src/GrampsDb/_*.py: Use new Date, new unserialize.
* src/*.py: Use new Date.


svn: r5875
2006-02-03 22:03:53 +00:00
Richard Taylor
b311f11c5c Added more columns
svn: r5874
2006-02-03 16:42:19 +00:00
Richard Taylor
754231f151 added initial fast model implementation
svn: r5872
2006-02-03 15:49:59 +00:00
Don Allingham
64ba0101d4 * src/PersonView.py: history
* src/EditPerson.py: start the save routine.


svn: r5871
2006-02-03 05:31:42 +00:00
Don Allingham
8a45d47e09 * src/DdTargets.py: add support for data items in sources
* src/EventEdit.py: use DisplayTabs
* src/gramps.glade: New EventEditor with display tabs
* src/DisplayTabs.py: specify data _DND_TYPE, don't enable d-n-d if
_DND_TYPE not defined


svn: r5868
2006-02-02 22:48:21 +00:00
Don Allingham
d506af5c67 * src/EditMedia.py: break out of ImageSelect, since ImageSelect
will probably go away. Add media editing ability using DisplayTabs.
* src/MediaView.py: call EditMedia
* src/gramps.glade: clean up media editor dialog


svn: r5867
2006-02-02 19:43:42 +00:00
Don Allingham
d88fa514e9 * src/DisplayState.py: add standard function for using WATCH cursor
* src/PageView.py: enable watch cursor when it is necessary to
rebuild a page.


svn: r5866
2006-02-02 17:00:37 +00:00
Alex Roitman
487cd028ed * src/GrampsDb/_GrampsBSDDB.py (transaction_begin,
transaction_commit): only do secondary index magic if not
instructde otherwise; (BdbTransaction.__init__): accept additional
argument, pass it on to Transaction class.
* src/GrampsDb/_GrampsDbBase.py (Transaction.__init__): accept
additional argument for no_magic.
* src/GrampsDb/_ReadGedcom.py (NoteParser): count people during
first pass; (parse_gedcom_file): start transaction with or without
secondary index magic.
* src/GrampsDb/_ReadXML.py (LineParser):count people during
first pass; (parse): start transaction with or without secondary
index magic.


svn: r5865
2006-02-02 14:53:31 +00:00
Don Allingham
da30e8d5fa * src/EditPerson.py: unused code
* src/ImgManip.py: convienence code
* src/Sources.py: DisplayManager-ize the SourceEditor


svn: r5864
2006-02-02 05:20:42 +00:00
Don Allingham
15bc78db47 * src/DisplayTabs.py: Hook up editors
* src/EditFamily.py: Add _DND_TYPE
* src/UrlEdit.py: Add type selector
* src/Utils.py: add type/string maps for url types
* src/gramps.glade: add type selector comboboxentry
* src/ObjectSelector/_ObjectSelectorWindow.py: fix window management
so that the system is closed properly


svn: r5863
2006-02-01 21:57:11 +00:00