Henrik Levkowetz
71a9ffafc5
Changed allow_lazy to the @keep_lazy decorator.
...
- Legacy-Id: 14674
2018-02-22 00:13:32 +00:00
Henrik Levkowetz
36b5e2ef8e
Changed name from .rel to .remote_field for remote accessors.
...
- Legacy-Id: 14665
2018-02-21 23:56:36 +00:00
Henrik Levkowetz
06362ec046
Got rid of old migrations and created new initial migrations.
...
- Legacy-Id: 14662
2018-02-21 23:46:22 +00:00
Henrik Levkowetz
5638cf3da3
Changed all usage of ForeignKey and OneToOneFiled in model.py files to the compatibility versions from ietf.utils.models.
...
- Legacy-Id: 14661
2018-02-20 15:36:05 +00:00
Henrik Levkowetz
c760792339
Added proxy ForeignKey and OneToOneField classes which set the now required on_delete parameter on the fields to the legacy value.
...
- Legacy-Id: 14660
2018-02-20 15:33:20 +00:00
Henrik Levkowetz
dd7853c7a3
Check line lenght before assuming there's a first character.
...
- Legacy-Id: 14619
2018-02-06 15:18:11 +00:00
Henrik Levkowetz
a4cc4bba2e
Merged in ^/personal/henrik/6.68.4-ipr@14609 from henrik@levkowetz.com:
...
Changes to the IPR disclosure pages, requested during WG Chairs Lunch where the changes to IPR handling introduced by RFC8179 were presented.
- Legacy-Id: 14610
2018-02-01 15:41:34 +00:00
Henrik Levkowetz
2687c8d839
Added a workaround for libmagic mislabelling plain text content with a line beginning with 'virtual' as text/x-c++.
...
- Legacy-Id: 14586
2018-01-30 08:29:21 +00:00
Henrik Levkowetz
a3d1d5595d
Added an option to list the slugs that can be used with the generate_apache_perms management command.
...
- Legacy-Id: 14576
2018-01-26 22:40:48 +00:00
Henrik Levkowetz
fd01a612b7
Added a management command to generate apache 'Require user ...' stanzas from group:type:role specifications.
...
- Legacy-Id: 14574
2018-01-26 20:43:40 +00:00
Henrik Levkowetz
d6e4404d63
Only do coverage set/reset operations if we're in test mode. Fixes a 500 error during draft submission yang checking.
...
- Legacy-Id: 14569
2018-01-25 11:31:38 +00:00
Henrik Levkowetz
717868cae2
Rewrote text_to_dict() and dict_to_text() to support unicode without RFC2822 encoding issues. Added initial values in IPR update forms, from the original disclosure, in order to make updates easier. Addresses issue #2413 .
...
- Legacy-Id: 14531
2018-01-17 00:21:34 +00:00
Henrik Levkowetz
008eaf7fda
Modified the run_yang_model_checks management command to accept document aliases on the command line.
...
- Legacy-Id: 14443
2017-12-19 14:09:40 +00:00
Henrik Levkowetz
6567e707ce
Merged in ^/personal/henrik/6.64.2-ballotapi@14426. This provides personal API keys and a ballot position API at /api/iesg/position. Also added an endpoint description at /api/.
...
- Legacy-Id: 14430
2017-12-17 23:43:44 +00:00
Henrik Levkowetz
a08c8dc76f
Added an API endpoint to support automation of IESG ballot position posting, at /api/iesg/position. Added tests for the API endpoint, and updated the apikey validation decorator tests. Tweaked the decorator to handle a weakness found during testing.
...
- Legacy-Id: 14429
2017-12-17 21:55:27 +00:00
Henrik Levkowetz
b0863c8963
Modified some names.
...
- Legacy-Id: 14428
2017-12-16 18:43:08 +00:00
Henrik Levkowetz
ec4e238185
Added some missing files.
...
- Legacy-Id: 14427
2017-12-16 18:39:26 +00:00
Henrik Levkowetz
e7209c6e50
Added a new personal event table to keep track of personal API key logins, and a management command to send out reports about activity to users with API keys. Added a weekly cronjob script to trigger weekly reports, and a monthly script for future use. Added a @require_api_key decorator to validate API keys for API key views and log in the API key owner. Modified the API key management urls to use create and disable rather than add and delete. Updated the API key list view. Added an API placeholder view function for ballot position setting, for test purposes. Added tests for the decorator and management command.
...
- Legacy-Id: 14426
2017-12-16 18:37:52 +00:00
Henrik Levkowetz
152261a869
Added new infrastructure for personal API keys, to generate, view, and delete them.
...
- Legacy-Id: 14423
2017-12-14 14:30:59 +00:00
Henrik Levkowetz
660c81c272
Tweaked the file content read refactoring in [14406] to try latin-1 conversion if unicode doesn't work.
...
- Legacy-Id: 14410
Note: SVN reference [14406] has been migrated to Git commit 967ece7e7d
2017-12-10 17:48:09 +00:00
Henrik Levkowetz
967ece7e7d
Started refactoring of reading text from document files (drafts, charters, etc.) in order to normalise on one way of doing this, and making that return unicode rather than undecoded bytes. This is the first step of two, in order to gauge the possible issues and report on discrepancies.
...
- Legacy-Id: 14406
2017-12-08 21:51:11 +00:00
Henrik Levkowetz
3cd3c3526f
Tweaked the coverage_changes management comand output.
...
- Legacy-Id: 14402
2017-12-06 13:31:33 +00:00
Henrik Levkowetz
57c18ef3fe
Changed settings and handling of adhoc wiki paths to be more testing-friendly.
...
- Legacy-Id: 14390
2017-12-04 15:09:03 +00:00
Henrik Levkowetz
47a0b9d3ce
Changed handling of yang modeules from drafts with errors, to not place them in separate directories, due to possible follow-on effects. Added use of IANA-held modules when validating, and regular rsyncing from IANA.
...
- Legacy-Id: 14389
2017-12-04 14:37:15 +00:00
Henrik Levkowetz
98d234cd86
Refactored the handling of BallotDocEvent in tests, only creating them as needed, in preparation for stricter checks on state transitions to avoid mismatches between state and ballot.
...
- Legacy-Id: 14380
2017-11-30 16:02:31 +00:00
Henrik Levkowetz
b29e096f92
Added a test for the IESG past documents page, and tweaked some test documents to have titles.
...
- Legacy-Id: 14303
2017-11-04 16:15:39 +00:00
Henrik Levkowetz
260bac9346
Updated some tests to match api views refactoring.
...
- Legacy-Id: 14295
2017-11-03 16:42:09 +00:00
Henrik Levkowetz
3269a696fe
Variable naming fix
...
- Legacy-Id: 14286
2017-11-03 10:36:50 +00:00
Henrik Levkowetz
23a3056260
Fixed a typo.
...
- Legacy-Id: 14270
2017-11-01 14:51:08 +00:00
Henrik Levkowetz
6e23f99019
Improved the help message for the run_yang_model_checks management command.
...
- Legacy-Id: 14267
2017-11-01 14:39:53 +00:00
Henrik Levkowetz
48fe02d58c
Permit tildes in romanization of draft author names when looking for draft authors. Can be used in romanization of arabic names.
...
- Legacy-Id: 14256
2017-11-01 11:51:24 +00:00
Henrik Levkowetz
af64f0e064
Fixed a call parameter list discrepancy.
...
- Legacy-Id: 14252
2017-11-01 05:07:35 +00:00
Henrik Levkowetz
09d8ad1e1b
Fixed some pyflakes issues.
...
- Legacy-Id: 14238
2017-10-30 11:47:05 +00:00
Henrik Levkowetz
1a7e9b619a
Added support for ad-hoc trac instances, with arbitrary names and filesystem paths, but still bound to a particular group's roles for management of trac admin rights.
...
- Legacy-Id: 14232
2017-10-30 11:10:15 +00:00
Henrik Levkowetz
9be7d57a03
Tweaked the test-runner random state handling to display the correct random state filename and make sure to set the same random state.
...
- Legacy-Id: 14209
2017-10-14 12:05:01 +00:00
Henrik Levkowetz
0e00adc5ee
Another tweak to the draft author extraction code, to handle some name transliterations using multiple leading grave accents.
...
- Legacy-Id: 14149
2017-09-21 09:28:18 +00:00
Henrik Levkowetz
2c1438c240
Moved unidecode_name from utils.text to person.name.
...
Modified UserFactory to use a new locale for each new user, instead of the
same locale for a whole test run. This (almost) ensures the exercise of
code to deal with non-ascii names, something which would not happen if a
locale with ascii names was chosen at the start of a run.
Modified name.initials() to not use non-word characters as initials.
Modified unidecode_name() to do more normalization, to conform to the
conventions used in internet-drafts.
Added saving of the factory-boy random state in order to be able to re-run
a test suite with the same pseudo-random sequence as in a previous failed
run.
Fixed an issue with email formatting in test_api_submit_ok().
Modified the draft author extraction code to deal better with names with
embedded apostrophes.
- Legacy-Id: 14141
2017-09-20 15:36:30 +00:00
Henrik Levkowetz
1530a6c394
Added a new TestCase assertion: assertMailboxContains(), to be able to better express some test cases.
...
- Legacy-Id: 14139
2017-09-19 19:47:48 +00:00
Henrik Levkowetz
33b275b04f
Added ietf.utils.text.unidecode_name() and replaced various uses of unidecode() with it, in order to normalize the generation of ascii versions of names, to avoid different practices in space stripping and space normalization in different parts of the code.
...
- Legacy-Id: 14128
2017-09-17 15:12:18 +00:00
Henrik Levkowetz
9f785c0dce
Tweaked the test util function create_person() to create ascii-only .ascii fields, which it did not do before.
...
- Legacy-Id: 14123
2017-09-16 09:21:45 +00:00
Henrik Levkowetz
aafd6290a6
Added an option to ietf.utils.draft.Draft to pull document name from the source file name.
...
- Legacy-Id: 14089
2017-08-31 14:48:43 +00:00
Henrik Levkowetz
aaccbba6e8
Fixed a bug in coverage_changes.
...
- Legacy-Id: 14037
2017-08-10 10:53:59 +00:00
Henrik Levkowetz
1eeaf49c5c
Added an error exit when the test runner is invoked with incompatible switches (--parallel and --html-report)
...
- Legacy-Id: 14024
2017-08-02 13:00:16 +00:00
Henrik Levkowetz
4dad8cdf9a
Added a test to check for missing admin models, and added the admin models that were currently missing.
...
- Legacy-Id: 14021
2017-08-01 14:00:29 +00:00
Henrik Levkowetz
138f3d7382
Fixed a variable initialization issue.
...
- Legacy-Id: 14009
2017-07-30 14:33:34 +00:00
Henrik Levkowetz
2070a4efcf
Fixed a pyflakes issue.
...
- Legacy-Id: 14008
2017-07-30 13:55:30 +00:00
Henrik Levkowetz
8a53653682
Added detailed line-by line changes in code coverage to the coverage_changes management command. Use verbosity 2 or higher.
...
- Legacy-Id: 14007
2017-07-30 13:50:06 +00:00
Henrik Levkowetz
d00921b94b
Added a new release-coverage format which whould make it easier to show line-by-line code test coverage changes in the future.
...
- Legacy-Id: 13967
2017-07-24 17:38:00 +00:00
Henrik Levkowetz
2de6855ccd
Fixed a time arithmetics issue in meeting cutoff date methods
...
- Legacy-Id: 13966
2017-07-23 14:47:46 +00:00
Henrik Levkowetz
15f8b4504e
Change the test telechat dates so that the first active telechat doesn't change to lie in the past if the tests are run across midnight.
...
- Legacy-Id: 13889
2017-07-15 10:01:35 +00:00
Henrik Levkowetz
86b252c90e
Some refactoring of the agenda and minutes validation work.
...
- Legacy-Id: 13850
2017-07-13 10:42:48 +00:00
Henrik Levkowetz
46fc7b77fd
Added more validation of extension, mime type, etc. for uploaded meeting agendas and minutes. Added '.md' (markdown) as an accepted file type. Html with frames is now rejected. Factored out validation code into separate functions.
...
- Legacy-Id: 13849
2017-07-12 22:45:57 +00:00
Henrik Levkowetz
d2395f9521
Merged in [13832] from rjsparks@nostrum.com:
...
Treat Area Groups similar to Working Groups and Research Groups where it makes sense to do so.
- Legacy-Id: 13836
Note: SVN reference [13832] has been migrated to Git commit 2c92aa213d
2017-07-11 21:57:01 +00:00
Robert Sparks
2c92aa213d
Treat Area Groups similar to Working Groups and Research Groups where it makes sense to do so. Commit ready for merge.
...
- Legacy-Id: 13832
2017-07-11 19:12:21 +00:00
Henrik Levkowetz
95ddc35eae
Added wiki creation for groups in state 'bof'
...
- Legacy-Id: 13829
2017-07-11 16:06:00 +00:00
Henrik Levkowetz
2c39de61ab
Replaced the local copy of the draft/rfc htmlization code with rfc2html as installed modeule.
...
- Legacy-Id: 13827
2017-07-11 13:52:08 +00:00
Henrik Levkowetz
eceed7476d
Added the html_report switch setting to the test runner object.
...
- Legacy-Id: 13822
2017-07-09 18:10:51 +00:00
Henrik Levkowetz
ca921fe45d
Added a switch to control generation of the code coverage html report, which now defaults to false. The report can be generated post-testing with "coverage html -d static/coverage/".
...
- Legacy-Id: 13821
2017-07-09 16:50:38 +00:00
Henrik Levkowetz
d26c7085c6
Added code coverage settings and configuration to ignore debug-related lines of code.
...
- Legacy-Id: 13817
2017-07-09 15:00:22 +00:00
Henrik Levkowetz
42b1a41227
Added the new format '4' to the list of recognized formats in the coverage_changes management command.
...
- Legacy-Id: 13766
2017-07-03 21:18:46 +00:00
Henrik Levkowetz
97a5ed1f6c
Added a test to verify that we can load the 500 page template
...
- Legacy-Id: 13765
2017-07-03 21:17:45 +00:00
Henrik Levkowetz
fb88596c59
Fixed an issue with the scope of the logfunc variable in production.
...
- Legacy-Id: 13761
2017-07-03 14:03:53 +00:00
Henrik Levkowetz
db96292229
Added a utility function to show just the text content of the test client response.
...
- Legacy-Id: 13737
2017-06-30 11:45:24 +00:00
Henrik Levkowetz
2070bbfed6
Merged in [13722] and [13712] from rcross@amsl.com:
...
Remove all use of request.session from secretariat apps. Add tests for affected views. Fixes #1455 .
- Legacy-Id: 13724
Note: SVN reference [13712] has been migrated to Git commit 915b445bcffcd4687fb1677230b98282d22dd9a0
Note: SVN reference [13722] has been migrated to Git commit 3a2cb9d3d846168f75d9796b4e5383bdf10b1f60
2017-06-28 14:55:10 +00:00
Henrik Levkowetz
f6f0278859
Changed the url coverage code to handle deeper chains of url includes, and to handle url includes through url lists in addition to url modules. Added information in the release coverage dictionaries about the view functions coupled to the urls.
...
- Legacy-Id: 13706
2017-06-22 15:07:06 +00:00
Henrik Levkowetz
5e80e00aea
Corrected the settings names used in the yang extraction command.
...
- Legacy-Id: 13695
2017-06-20 14:06:42 +00:00
Henrik Levkowetz
b42f1cbeb5
Replaced the use of unaccent.asciify(), which has similar functionality to unidecode.unidecode(). Changed the draft parser to work exclusively with unicode text, which both makes the removal of unaccent easier, and takes us closer to Py35 compatibility. Adjusted callers of the draft parser to send in unicode.
...
- Legacy-Id: 13673
2017-06-18 18:23:18 +00:00
Henrik Levkowetz
be80e68b47
Corrected the spelling of norwegian words in unaccent.py
...
- Legacy-Id: 13671
2017-06-18 09:33:51 +00:00
Henrik Levkowetz
a18cf20868
Removed code which has been marked as unreachable since February/March 2017 without triggering any usage indications.
...
- Legacy-Id: 13667
2017-06-17 17:54:40 +00:00
Henrik Levkowetz
e6c8b6621c
Changed mentions of people with roles on the various group pages to link to both their profile page and their email address.
...
- Legacy-Id: 13664
2017-06-17 17:05:38 +00:00
Henrik Levkowetz
34a2352288
Make sure wordwrap() and friend works as intended if they are used as template filters and given string arguments.
...
- Legacy-Id: 13653
2017-06-16 13:15:02 +00:00
Henrik Levkowetz
8d420d4d2f
Added initial data to the versioninfo migration.
...
- Legacy-Id: 13638
2017-06-16 08:55:31 +00:00
Henrik Levkowetz
c4b64e51af
Updated the VersionInfo migration.
...
- Legacy-Id: 13637
2017-06-16 08:45:11 +00:00
Henrik Levkowetz
d98054c103
Added a new yang checker, 'yanglint', to the existing Yang checker class, in
...
addition to the existing 'pyang' checker.
Added modal overlay displays showing the yang check results every place the
yin/yang symbol is shown (red or green) to indicate the presencee and result
of yang checks. Added a Yang Validation: line in the document
meta-information section on the document's page in the datatracker.
Added the result of the xym extaction to the yang check results, to make
extration failures visible.
Added the version of the used xym, pyang, and yanglint commands to the check
results.
Added an action to move successfully extracted and validated modules to the
module library directories immediately on submission.
Added the xym and pyang repositories as svn:external components, rather than
listing them in requirements.txt, as there has been delays of many months
between essential features in the repositories, and an actual release. We may
get occasional buildbot failures if broken code is pulled in from the
repository, but better that than the functionality failure of severely
outdated componets.
Added a new management command to re-run yang validation for active drafts for
which yang modules were found at submission time, in order to pick up imported
models which may have arrived in the model libraries after the draft's
submission. Run daily from bin/daily.
Added a table to hold version information for external commands. The yang
checker output should include the version information of the used checkers,
but seems unnecessary to run each command with its --version switch every
time we check a module...
Added a new management command to collect version information for external
commands on demand. To be run daily from bin/daily.
Added tests to verify that xym, pyang and yanglint information is available
on the submission confirmation page, and updated the yang module contained in
the test document to validate under both pyang and yanglint.
Updated admin.py and resource.py files as needed.
- Legacy-Id: 13630
2017-06-15 16:09:28 +00:00
Henrik Levkowetz
9bd64ba6f2
Merged in [13559] from rcross@amsl.com:
...
When changing a TelechatDate in the admin interface, retain all document associations. Fixes #1349 .
- Legacy-Id: 13577
Note: SVN reference [13559] has been migrated to Git commit 77f4bf21ff
2017-06-10 05:33:36 +00:00
Henrik Levkowetz
4dcdda08d2
Added a test to the test suite which checks if there are interleaved schema and data migrations that have not been released yet. Having split migrations, first all schema and then all data, will permit doing 2 sequential releases; but if the data and schema migrations are interleaved (beyond this) it is problematic to arrange for release without ending up with a prolonged period when running code and table structure is out of sync (while the normally more time-consuming data migrations run).
...
- Legacy-Id: 13576
2017-06-09 21:37:14 +00:00
Henrik Levkowetz
7385a8be51
Changed name and signature for a log helper.
...
- Legacy-Id: 13571
2017-06-09 19:38:48 +00:00
Henrik Levkowetz
023a32715d
Merged in ^/branch/iola/author-stats-r13145 from olau@iola.com, with additional features from ^/personal/henrik/6.52.1-authorstats.
...
- Legacy-Id: 13550
2017-06-06 18:36:59 +00:00
Henrik Levkowetz
a34d078428
Commented out again a function that was commented in by mistake in the committed code.
...
- Legacy-Id: 13543
2017-06-06 16:30:53 +00:00
Henrik Levkowetz
5ca4309691
Fixed a bug in wordwrap() where an URL (or any word) longer than width could prevent line breaking in following text.
...
- Legacy-Id: 13541
2017-06-06 14:03:02 +00:00
Henrik Levkowetz
fb93a8c293
Added dates to unreachable() calls, to make it easier to decide when to remove marked code.
...
- Legacy-Id: 13538
2017-06-06 07:27:07 +00:00
Henrik Levkowetz
b2da91de1b
Added a middleware exception handler for the case of people submitting unicode outside the Basic Multilingual Plane, which cannot currently be saved to the database.
...
- Legacy-Id: 13508
2017-06-03 21:47:51 +00:00
Henrik Levkowetz
5b2087f910
Eliminated several variations on word wrapping, keeping only what used to be wrap_text(), but renamed as ietf.utils.text.wordwrap(). This performs better than django.utils.text.wrap() when there are indented text parts. Replaced django's default wordwrap filter with one calling ietf.utils.text.wordwrap in templates. Changed to triggered wrapping in some cases, with the maybewordwrap filter, which triggers on lines longer than 100 characters. This fixes the issue with undesired wrapping of reviews.
...
- Legacy-Id: 13505
2017-06-02 23:13:22 +00:00
Henrik Levkowetz
16d129cacf
Added examples of how our different text wrapper functions work to ietf.utils.text. Run 'python ietf/utils/text.py | less' to see the results.
...
- Legacy-Id: 13498
2017-06-02 17:59:26 +00:00
Henrik Levkowetz
76628be3fd
Merged in ^/branch/iola/author-stats-r13145 from olau@iola.dk, and fixed some tests in code which moved after the latest merge with trunk. The test suite passes, but the migrations are _not_ ready to run, because of numbering conflicts (again due to code changes on trunk since the latest sync).
...
- Legacy-Id: 13479
2017-05-31 20:59:26 +00:00
Henrik Levkowetz
fe30afdfe7
Updated the check_referential_integrity management command to show progress bars when not in verbose mode.
...
- Legacy-Id: 13369
2017-05-16 15:07:56 +00:00
Henrik Levkowetz
b5319c576a
Updated the utils.DumpInfo model to match the database.
...
- Legacy-Id: 13330
2017-05-12 15:27:23 +00:00
Henrik Levkowetz
38bfdb4095
Fixed a bug in the earlier author extraction bugfix.
...
- Legacy-Id: 13295
2017-05-10 12:21:17 +00:00
Henrik Levkowetz
fb70e9a4ff
Fixed an issue with the author extraction code.
...
- Legacy-Id: 13288
2017-05-09 19:19:55 +00:00
Henrik Levkowetz
b1c4b75fbe
Fixed a pyflakes issue.
...
- Legacy-Id: 13235
2017-04-18 20:55:43 +00:00
Henrik Levkowetz
0b730c9554
Updated the referential integrity checking comand.
...
- Legacy-Id: 13234
2017-04-18 20:21:58 +00:00
Henrik Levkowetz
d6b9392f72
Fixed an if-statement which incorrectly disabled coverage testing when the parallel testing count was set to 1.
...
- Legacy-Id: 13231
2017-04-18 16:47:28 +00:00
Henrik Levkowetz
978e8f72f5
Changed the signature of ietf.utils.aliases.dump_sublist() to include a list of the alias domains, in order to be able to generate IRTF group aliases @irtf.org. Updated ietf/bin/generate-*-aliases accordingly.
...
- Legacy-Id: 13206
2017-04-12 18:51:38 +00:00
Henrik Levkowetz
d19179ba44
Merged in [13181] from housley@vigilsec.com:
...
This completes a good chunk of the downref registry work requested in ticket
#2069 . The registry has been imported to the database and can be shown, and
entries can be added to the registry. Addresses issue #2069 .
- Legacy-Id: 13190
Note: SVN reference [13181] has been migrated to Git commit f0125634f8
2017-04-10 22:47:01 +00:00
Russ Housley
f0125634f8
Add downref registry to the datatracker at the request of the IESG. Still need to integrate with Last Call message generation
...
- Legacy-Id: 13181
2017-04-03 17:36:27 +00:00
Ole Laursen
d9585b4b73
Add some extra test data to exercise the statistics better
...
- Legacy-Id: 13167
2017-03-29 09:06:12 +00:00
Ole Laursen
a1ba9dfb0a
Remove accidentally committed debug
...
- Legacy-Id: 13160
2017-03-28 14:56:06 +00:00
Ole Laursen
5b677dc6ba
Merge author stats branch into new branch from trunk
...
- Legacy-Id: 13159
2017-03-28 14:36:40 +00:00
Henrik Levkowetz
14c748df98
Changed the creation of temporary test dirs to use names which include the test class name, in order to make it possible to run test cases in parallel. Disabled coverage testing when running in parallel (those classes cannot be pickled and distributed to the test runner threads, and also won't pass coverage data back). Tweaked the TestCase.tempdir() method.
...
- Legacy-Id: 13157
2017-03-27 21:41:18 +00:00
Henrik Levkowetz
605fa26ec3
Made relative paths work for the create_group_wikis commnand. Added wiki and svn dir patterns to docker/settings_local.py.
...
- Legacy-Id: 13150
2017-03-27 17:07:48 +00:00