324abc0f61
More settings, now with tabs
2018-10-08 16:38:08 -04:00
3c0fd79195
Settings control panel saves to admin-override.toml in the app/config directory, resolves #7
2018-10-08 15:45:46 -04:00
247a9d0e5b
More webp images, fix login
2018-10-05 22:36:54 -04:00
d6800dbc46
Ugly Progress Commit
...
* Cache and resize images - not just cache them
* Convert to webp on cache
* Show webp images if available
* Settings Form Generation (doesn't yet save)
2018-10-05 21:32:15 -04:00
ae283cd898
Add command to check Kitsu's MAL id mappings
2018-10-05 14:40:30 -04:00
a8f898822a
Update code to use simpler config
2018-10-05 14:32:05 -04:00
da936b325e
Merge config.toml and route_config.toml
2018-10-05 14:27:07 -04:00
8b3ce0f079
Fix some api mapping issues for #5
2018-10-01 13:03:48 -04:00
c9ed90acb4
Update header comments to version 4.1
2018-10-01 11:35:51 -04:00
17a9539e94
More work on #5
2018-10-01 10:50:22 -04:00
0f31a5e10a
Ugly progress commit
2018-09-27 16:45:12 -04:00
e0376c78d1
Fix tests
2018-09-26 22:43:04 -04:00
a6c253b969
Lots of Anilist integration, see #5
2018-09-26 22:31:04 -04:00
e7dc1e8e53
Anilist CRUD operations for Anime! See #5
2018-09-20 16:08:46 -04:00
034213fccc
Progress with simultaneous updates to Anilist for Anime
2018-09-20 10:41:28 -04:00
a71fb185bd
Add Config 'Type', to keep config settings somewhat in check
2018-08-24 14:36:58 -04:00
98ae142757
Cleanup config a bit
2018-08-24 14:23:01 -04:00
cd150d7fef
Fix stupid type error
2018-08-22 13:51:58 -04:00
3bca049cd8
Update file header comments
2018-08-22 13:48:27 -04:00
95b06a7e7e
Eradicate MAL integration
2018-08-22 13:43:04 -04:00
4a91a5cb5d
Anime Collection improvements
...
* Allow editing title and alternate title
* Show list of genres on list view of collection
2018-08-21 17:09:42 -04:00
bc2122dd98
Fix test failure
2018-08-20 13:41:25 -04:00
2a2ff87b3b
Various cleanup, some work on #7
2018-08-20 13:01:16 -04:00
e6761807b8
Add basic check for folder permissions for quicker troubleshooting
2018-08-16 12:10:24 -04:00
bfb5d6323d
More progress on #5
2018-08-15 16:19:07 -04:00
b3a3e19146
Making API requests to Anilist, see #5
2018-08-15 14:05:28 -04:00
b5f8413ceb
More prep for Anilist integration
2018-08-15 08:51:37 -04:00
ea31131e0f
Adjust layout of edit pages
2018-08-13 15:13:20 -04:00
0dcf25e16c
More refactoring work, some groundwork for Anilist integration
2018-08-10 20:10:19 -04:00
49295148d1
Update some types
...
* Remove empty values from types for serialization, so that empty values
are not sent with API requests
* Allow use of explicit setters for more complex types
2018-08-09 11:34:02 -04:00
be2b387391
More refactoring, fix snapshot tests
2018-08-08 13:05:38 -04:00
06c55a2094
Fix tests
2018-08-08 11:18:57 -04:00
9a7084078f
Some minor code cleanliness refactoring
2018-08-08 10:12:45 -04:00
f71e9dbe4d
Merge remote-tracking branch 'origin/master' into develop
2018-06-15 08:47:16 -04:00
cecca5f9f0
Give a better error message on failing to parse an XML API response
2018-06-15 08:46:28 -04:00
79be0ebb34
Use more efficient method of combining large sets of data from Kitsu
2018-04-11 09:26:14 -04:00
c0c72e40e4
Add more missing streaming logos
2018-04-05 23:00:58 -04:00
75a5727a2e
Add Hidive to streaming service mapping
2018-04-05 08:56:01 -04:00
9cac51bd82
Miscellaneous style updates
2018-02-02 09:50:58 -05:00
a434c032a2
Minor refactor of Commands
2018-01-31 15:44:48 -05:00
92ad051f6a
Add trailer videos to anime detail pages
2018-01-31 10:55:20 -05:00
da8f4acb29
Use template literals instead of mustache templates
2018-01-30 16:57:13 -05:00
83f9d14630
Fix issue with anime detail pages
2018-01-30 14:02:28 -05:00
f06ba6e3cd
Lots of style fixes and minor logic tweaks
2018-01-18 16:21:45 -05:00
231babe218
Code style improvements
2018-01-16 14:58:07 -05:00
4532bd1865
Remove strict types from Artax client implementation
2018-01-15 14:49:17 -05:00
7b9adbf52e
Update copyright year
2018-01-15 14:43:15 -05:00
34996f009b
Correct index of id for kitsu sync
2018-01-10 16:43:49 -05:00
39031ccf3e
Simplify syncing script
2018-01-10 16:34:25 -05:00
4451544389
Merge remote-tracking branch 'origin/master' into develop
2018-01-10 16:28:37 -05:00
11068029e8
Handle syncing errors more consistently
2018-01-10 16:18:06 -05:00
e75c52d9dc
Fix bug with sync, remove some code duplication
2017-12-13 11:38:21 -05:00
bbe2fd0a5d
Update Artax, and update other code to work with new version
2017-12-08 22:32:00 -05:00
2ad0a24483
Miscellaneous code style changes
2017-12-06 14:40:13 -05:00
55fca3f92f
Correct some errors in creating and deleting anime collection items
2017-12-06 12:30:12 -05:00
9497f5c3df
Fix MAL sync issue for anime
2017-12-04 16:06:27 -05:00
a4555ca908
Merge branch 'master' of git.timshomepage.net:timw4mail/HummingBirdAnimeClient
2017-10-18 19:42:01 -04:00
45e14a7503
Add proper logging to console commands
2017-10-18 19:28:57 -04:00
5eaa33ba82
Fix an issue with Kitsu <-> MAL sync
2017-10-18 19:28:22 -04:00
2b9adb0395
Adding missing method for manga collection
2017-09-15 15:05:35 -04:00
5fb042a773
Better handle empty lists on sync, resolves #29
2017-09-15 15:04:57 -04:00
200ff1339c
Rough start of Manga collection...need to set up proper structure for manga collection items
2017-09-14 16:18:13 -04:00
a8e2049d08
Refactor a bit to prepare for manga collection
2017-09-14 15:32:53 -04:00
372b616101
Update some api calls based on api changes
2017-09-12 12:18:31 -04:00
6493f33faf
Attempt to re-authenticate when access token expires
2017-06-19 15:31:24 -04:00
e66a9f885a
Some minor refactoring
2017-06-19 13:49:28 -04:00
3fd7c84774
Further filter titles, showing only the canonical title if it is really long
2017-04-26 10:09:14 -04:00
8e8ee81397
Kitsu <-> MAL manga list item comparison, resolves #18
2017-04-19 16:48:53 -04:00
cf12dfee76
kitsu <-> mal comparison for anime, see #18
2017-04-19 16:15:39 -04:00
d2fc955260
Miscellaneous code cleanup
2017-04-17 16:13:36 -04:00
921d594931
Update dependencies, and set a more locked-down content security policy
2017-04-13 15:08:28 -04:00
ac13d57634
Use proxy and cached images on user info page
2017-04-13 14:25:39 -04:00
28da32f2ac
Get images from proxy or cache for Manga views, and Add views
2017-04-13 11:44:03 -04:00
08aff2ffe8
All anime images now pull from proxy or cache
2017-04-13 11:26:28 -04:00
8b43dee20f
Css tweaks, and start caching kitsu images
2017-04-13 11:15:16 -04:00
5cca3cf335
Fix changing a list item's status with no score or progress on MAL
2017-04-11 09:28:07 -04:00
679560e185
Fix various edge cases
2017-04-10 15:31:35 -04:00
d157f097d1
Use a more appropriate function for substring filtering
2017-04-07 16:58:08 -04:00
ec6f9b1189
Tweak handling of alternate titles, to ensure the +1 button is always usable
2017-04-07 16:44:27 -04:00
7825e46321
Replace 0 with -
2017-04-07 13:57:14 -04:00
81a1a927b1
Make sure Cast heading only shows up if there are actual cast entries
2017-04-06 21:27:03 -04:00
b210954874
Make sure rating parameter sent to Kitsu is greater than 0
2017-04-06 14:53:38 -04:00
45bf1e1136
Add a better API timeout message emoticon
2017-04-05 13:08:16 -04:00
fb3805b789
Add staff to character pages
2017-04-05 13:02:48 -04:00
b861db5d1f
Catch API timeouts
2017-04-05 13:01:51 -04:00
8172d1a593
Remove some dead code
2017-04-03 16:53:04 -04:00
8ceec846a5
Fix creating missing Kitsu items
2017-04-03 15:46:16 -04:00
d2d48905d7
More basic tests, see #16
2017-04-03 14:46:29 -04:00
c50b1da53b
Details and user page updates, resolves #27
2017-03-31 16:36:22 -04:00
1e28a1795d
Update detail pages
2017-03-31 13:37:53 -04:00
b2300f4cfb
Remove duplicated function
2017-03-30 16:57:58 -04:00
92fe6b7146
Update header comments
2017-03-30 16:49:48 -04:00
fa4ee22100
Allow over-riding the default lists in the user config
2017-03-30 16:47:02 -04:00
fb567e85e9
Simplify routing code a bit
2017-03-30 16:16:40 -04:00
528d3584b8
Make sure rating is only updated if it is numeric
2017-03-29 16:09:22 -04:00
69b4d0c88b
More tests
2017-03-29 15:14:30 -04:00
e79021da29
Add and delete manga simulaneously from kitsu and mal
2017-03-29 14:25:03 -04:00
79980683d1
Allow manga +1 button to update both kitsu and mal
2017-03-29 14:00:57 -04:00
15b26d8e39
Simultaneously update kitsu and MAL manga list item
2017-03-29 13:29:03 -04:00
377e102650
Create missing manga items on kitsu and mal with sync command
2017-03-29 12:32:36 -04:00
4a9e0f0293
Update sync lists command to create Kitsu items that are missing compared to MAL
2017-03-28 16:52:27 -04:00
0b18c06058
Minor api model refactoring
2017-03-28 14:36:23 -04:00
8d289f9eb5
Reorgnize order of Kitsu model methods
2017-03-28 14:34:33 -04:00
394c1241fb
Update dependencies, use ParallelAPIRequest
2017-03-28 11:01:38 -04:00
b8b5beeae1
Code cleanup and fix 'On Hold' title on all section of anime list
2017-03-27 10:09:45 -04:00
be0baac962
List characters on manga pages
2017-03-24 10:59:07 -04:00
cf0db8b9fa
Update all the page titles
2017-03-24 09:58:27 -04:00
dd90dd541c
Fix title of anime pages
2017-03-24 09:10:30 -04:00
cdd3878e55
Show custom 404 pages for missing anime and characters
2017-03-24 09:08:39 -04:00
51c26e6b30
Remove code coverage ignore annotations
2017-03-24 08:49:39 -04:00
828b7a2154
Fix 'all' view with missing sections
2017-03-22 16:53:46 -04:00
a259ea7b18
Update streaming link handling, and add daisuki and viewster
2017-03-22 12:29:07 -04:00
74602f60fa
Fix syntax error, prime manga cache too. See #19
2017-03-22 12:28:19 -04:00
e99205be54
Add command to prime cache, see #19
2017-03-22 11:41:25 -04:00
b52d301b2a
Fix issue with updating anime item
2017-03-22 11:15:40 -04:00
52bd2773c0
Remove unused mappings
2017-03-22 11:14:59 -04:00
c9768855a5
All anime api calls are now using paginated requests, see #23
2017-03-22 11:13:50 -04:00
1a45e57b7c
Miscellaneous code cleanup
2017-03-20 19:08:33 -04:00
bc6854a8e5
Show characters on anime details page
2017-03-20 13:14:01 -04:00
0d4b26e493
Minor model refactoring
2017-03-14 14:28:08 -04:00
0e6a1b6591
More work on user profile page
2017-03-10 12:50:48 -05:00
84f0a27d86
use readable cache keys
2017-03-10 12:50:29 -05:00
8645926006
More work on profile page
2017-03-08 16:21:01 -05:00
960537f8e0
Fix tests and start on profile page
2017-03-08 13:46:50 -05:00
5d9b7e9e63
Add basic character pages
2017-03-08 12:55:49 -05:00
6bf107e1ad
Update all the header comments with the correct repository url
2017-03-07 20:53:58 -05:00
fa7651faf9
Fix issues with sync-lists command, add more docblocks
2017-03-07 20:49:31 -05:00
8b2cd7dd1e
Fix 'All' section on Manga page
2017-03-07 18:41:51 -05:00
5d2dac5b99
Add back 'All' menu item for anime
2017-03-07 17:51:08 -05:00
497216cffa
Make sure mapping is accurately named
...
\!
2017-03-03 11:51:53 -05:00
ae6b1cb209
Move AnimeWatchingStatus and MangaReadingStatus enums to the same namespace
2017-03-02 11:12:19 -05:00
d0a236e7ee
Remove accidentially created Java file
2017-03-01 22:11:37 -05:00
ed01b28c0d
Rework the rest of the mappings
2017-03-01 22:07:51 -05:00
52e1d1822a
Update Manga mappings and enums
2017-03-01 21:52:30 -05:00
5e9b3db1f2
Add new mapping class for Anime watching statuses
2017-03-01 20:51:40 -05:00
14e8fa9f03
More PHPStan fixes
2017-02-22 15:08:29 -05:00
adc331d60d
PHPStan fixes
2017-02-22 14:46:35 -05:00
56ae9ed80e
Update method references in Manga controller
2017-02-21 15:37:29 -05:00
f3d9af311e
Update method references in Collection controller
2017-02-21 15:36:34 -05:00
9f0484a93b
Use new ParallelAPIRequest class
2017-02-20 13:37:08 -05:00
93038e61e5
More code style fixes
2017-02-17 11:37:22 -05:00
30b43fd27c
Lots of style fixes, with more to come
2017-02-17 10:55:17 -05:00
6efe1ffbc8
Slightly reorganize model hierarchy
2017-02-17 08:39:27 -05:00
8898655a49
Various tweaking
2017-02-17 08:25:19 -05:00
0232d18f1f
Yet more snake case to camel case
2017-02-16 14:30:06 -05:00
85cd77267b
Make sure header comments are actually updated for all code files
2017-02-16 11:09:37 -05:00
84cb1cb520
And more snake case to camel case
2017-02-15 16:30:14 -05:00
db07976403
Update header comments
2017-02-15 16:13:32 -05:00
8cbfaf3646
More snake case to camel case
2017-02-15 15:56:10 -05:00
29c04e62be
More code styles fixes
2017-02-15 15:35:41 -05:00
da9ebe8867
More style fixes
2017-02-15 13:07:36 -05:00
0a72e60f68
Fix more code style issues
2017-02-15 11:57:29 -05:00
d94a280437
Snake case to camel case
2017-02-15 11:30:16 -05:00
470c39cf79
Remove some unused code
2017-02-15 11:18:55 -05:00
652eac5be0
Get sync-lists command to create missing entries on MAL
2017-02-14 15:29:13 -05:00
dba0d47789
Uncomment rewatching stuff
2017-02-13 13:33:01 -05:00
4a3be8b4bf
Fix mapping from Kitsu to MAL for updating a list item
2017-02-13 12:42:05 -05:00
8f8f528823
Fix config mapping for BaseCommand
2017-02-10 16:12:02 -05:00
8f8c413927
Fix update requests broken by Artax conversion
2017-02-09 20:10:13 -05:00
50c543218b
Remove 'fix' for issue caused by php.ini setting
2017-02-09 13:45:40 -05:00
906a1f1efa
Another ugly progress commit
...
- Eradicated Guzzle from main codebase
- All API requests now use Artax
- Refactor code to use function and constant imports
- And more!
2017-02-08 15:48:20 -05:00
deecb5a912
Start of work to replace Guzzle with Artax
2017-02-08 00:44:57 -05:00
02838c5024
Update headers and some whitespace
2017-02-07 13:27:41 -05:00
bf7f6973a4
Create Request Builder wrapper around Artax
2017-02-07 13:11:42 -05:00
0fe01e14e1
Only translate fields that are passed in
2017-02-07 09:12:44 -05:00
5eea985828
Actually update MAL if enabled
2017-02-04 15:18:34 -05:00
1835e34690
Able to create list items on MAL
2017-02-01 09:53:02 -05:00
108c649a91
Misc updates
2017-01-31 12:52:43 -05:00
47a43517cb
More test coverage, attempt to get Gitlab to see test coverage
2017-01-27 15:41:52 -05:00
03964c446a
Ugly progress commit
2017-01-27 12:35:28 -05:00
20c3d69717
Get xml parsing working predictably
2017-01-27 09:43:42 -05:00
f57c24abe4
Make sure to pass the correct arguments to the cache hash method
2017-01-26 13:06:35 -05:00
0ae52a13f3
Refactor KitsuModel, add more docblocks
2017-01-26 13:03:38 -05:00
b2fb562de6
Fix display of streaming links in cover and list views
2017-01-25 13:37:39 -05:00
b2544fab16
Fix issue with selected list highlighting, fixes #20
2017-01-25 12:13:37 -05:00
96cbf78e28
Fix cache clear command
2017-01-19 12:49:18 -05:00
11f9e41254
Update commands
2017-01-17 12:47:02 -05:00
9bc22baa80
Cache manga list
2017-01-16 14:14:45 -05:00
f441b7680a
Update views for collection, remove old json import
2017-01-16 14:03:30 -05:00
10368fabe4
Fix anime collection
2017-01-16 13:49:51 -05:00
0ec8d6d6b3
Restore cache clearing functionality
2017-01-16 11:26:19 -05:00
1eecff0178
Streaming links, caching, and more MAL integration
2017-01-13 16:53:56 -05:00
3e72a66297
Cache API errors at the dispatcher level, so a more appropriate error page can be displayed
2017-01-13 16:52:12 -05:00
496eb68078
Really ugly progress commit
2017-01-12 15:41:20 -05:00
d91432d960
Third time's a charm for updating the header comment?
2017-01-11 19:37:14 -05:00
62c06b7731
Start of integration with My Anime List
2017-01-11 19:35:51 -05:00
e060e1b107
Update header comments, with proper newlines
2017-01-11 10:34:24 -05:00
c76bb4d32a
Update header comments
2017-01-11 10:31:17 -05:00
712956d564
Fix unit tests
2017-01-10 21:13:44 -05:00
39118d63e5
All basic API functionality:
...
* Anime List Item:
* Creation
* Updating
* Retreiving
* Deletion
* Manga List Item:
* Creation
* Updating
* Retreiving
* Deletion
* Anime detail page
* Manga detail page
2017-01-10 12:35:46 -05:00
6e818b7f45
Anime and Manga editing, incrementing, and deletion
2017-01-09 20:36:48 -05:00
e085754955
Update header comments
2017-01-06 23:34:56 -05:00
98bf1e455f
Episode incrementing and update work for anime
2017-01-06 21:39:01 -05:00
9d84398ee7
Better handling of alternate titles, Airing Status and genres for anime list views
2017-01-05 22:24:45 -05:00
09338e9132
Authentication, show edit forms for Anime
2017-01-05 13:41:32 -05:00
f1893d9708
Manga lists and detail pages
2017-01-04 13:16:58 -05:00
3030b6b908
Start of changes for Manga list
2017-01-03 21:06:49 -05:00
cdf9ad0105
Remove some old code to better make way for kitsu/MAL api integration
2017-01-03 20:29:43 -05:00
05c6f22f67
Another ugly progress commit
...
Sort of working:
* Get anime list by status
* Get anime description pages
2016-12-22 21:36:23 -05:00
e74fe9d2f5
Pull stuff from the Kitsu API
2016-12-21 12:46:20 -05:00
c9f5964d5e
Ugly progress commit
2016-12-20 12:58:37 -05:00
e097b02457
Start of API integration
2016-12-20 12:55:43 -05:00
f2fcc8ee93
Remove Hummingbird stuff
2016-12-16 21:52:59 -05:00
07ebb3e988
Update headers and namespaces
2016-10-20 22:32:17 -04:00
c915ea871d
Update EVERYTHING
2016-10-20 22:09:36 -04:00
dd2d25d54c
Code style fixes to satisfy phpcs
2016-08-30 10:57:41 -04:00
230c80459e
Update header comments
2016-08-30 10:01:18 -04:00
ac971c5248
Move src files to root of src/
2016-08-29 16:36:13 -04:00
4e4ac58263
Fix tests broken due to changes in container
2016-08-29 15:36:36 -04:00
e0e63cf094
Move Ion namespace into composer dependency
2016-08-09 11:08:45 -04:00
6b9770698b
Refactor cache to remove dependency on container
2016-08-01 13:02:26 -04:00
893584696b
Move cache class to IOn namespace, use safer json for serialization in cache drivers
2016-07-28 10:44:13 -04:00
a108adfa23
Finish moving get_cached_image method to Util class
2016-07-27 14:32:37 -04:00
563adace2f
Refactor out some Interdependency between Ion and AnimeClient namespaces
2016-07-27 13:18:52 -04:00
96d3dfdbb4
Update Redis tests to work with gitlab ci
2016-07-22 17:48:13 -04:00
fa22f7b493
Update Redis cache driver to use PHP-only library, removing the dependence on an extension:
2016-07-22 17:22:00 -04:00
1842e1a30b
Remove redundant cache loading
2016-04-22 10:52:42 -04:00
b2990e8457
Add button to clear api cache
2016-04-21 11:14:21 -04:00
4e48c8c4fa
Update changelog and add additional tests
2016-04-19 14:51:58 -04:00
2151d64f25
Small miscellaneous cleanup
2016-04-19 13:23:49 -04:00
89080171c9
Add batch image thumbnail creation, see #6 , #14
2016-04-19 13:02:50 -04:00
733d3f3871
Resolves #10 , adds ability to delete from anime collection
2016-04-14 19:10:03 -04:00
b5949466e4
Add detail view to anime list
2016-04-14 17:51:00 -04:00
1f9afd07f3
Add ability to delete items from manga list. See #10
2016-04-14 17:00:34 -04:00
717c296e52
Add ability to delete items from anime list. References #10
2016-04-14 15:16:13 -04:00
b528b8dc17
Re-add cache to manga controller so cache can be invalidated on update
2016-04-14 11:05:16 -04:00
330ac65e18
Add missing update to base API Model
2016-04-12 13:41:50 -04:00
e26e9f10b6
Update manga model to cache the one api response.
2016-04-12 13:41:03 -04:00
7d6c6fe2a0
Add NullDriver for cache layer, for the sake of testing, or config without a cache
2016-04-12 12:05:42 -04:00
5d0b879623
Miscellaneous cleanup
2016-04-08 18:05:52 -04:00
4b4a259f8a
Add Redis Cache driver
2016-04-08 14:25:45 -04:00
83a200871d
Add caching to Manga views
2016-04-07 13:11:45 -04:00
0f6c998109
Add tests for SQL based api cache
2016-04-07 12:34:57 -04:00
440a999c2e
Remove json 'cache' files from anime model
2016-04-07 12:32:32 -04:00
7711765563
Fix tests
2016-04-06 14:58:19 -04:00
7efa180bbf
Add some naive cache invalidation to update methods
2016-04-06 12:11:07 -04:00
84e4e6ce1b
Start of caching implementation
2016-04-05 13:19:35 -04:00
972d96c0e0
Fix search methods to work with new Request library
2016-04-05 12:06:07 -04:00
2afbe84afd
Start of interface for caching backend
2016-04-01 17:35:53 -04:00
06f07978dc
Fix broken tests
2016-03-29 11:40:27 -04:00
2dde6f8a7d
Fix issue with cover not being hidden on last episode
2016-03-29 11:30:51 -04:00
c8789dc267
Update url generation to use new router
2016-03-07 14:37:49 -05:00
ed16fd8d45
Fix most of the broken tests
2016-03-03 16:53:17 -05:00
dd74e85626
Further refactor handling of request variables, routing works again
2016-02-17 11:36:37 -05:00
ab19e9db08
Get HTML output working again, still refactoring router
2016-02-17 10:29:05 -05:00
98f3026a74
Start integration of PSR 7 Request/Response
2016-02-16 16:28:44 -05:00
d99f1e7595
Start of migration from php to toml config, see #11
2016-02-10 17:30:45 -05:00
3027c8a4a8
Update tests relating to issue #9
2016-02-09 21:03:26 -05:00
12d05dd71a
Fixes issue #9
2016-02-09 20:20:54 -05:00
ecf3bce14b
Partially fix #9 -- API calls fail on 'Plan to Watch' section
2016-02-09 20:12:39 -05:00