Simone Robutti
63a30bb483
refactor coordinators ( #171 )
...
* introduced CommandConfig object
* added dry_run for start command
* added test to start_dry_run
* added dry_run recap
* fixed import
* improved printing
* fixed zulip debug info
* improved recap dry-run print
* moved coordinator classes into dedicated package
* removed unused init
* divided event coordinators from recap coordinators
* added some docstrings
2022-09-24 16:46:03 +02:00
Simone Robutti
9d71ef36b9
add dry run ( #169 )
...
* introduced CommandConfig object
* added dry_run for start command
* added test to start_dry_run
* added dry_run recap
* fixed import
* improved printing
* fixed zulip debug info
* improved recap dry-run print
2022-07-12 07:39:56 +02:00
Giacomo Leidi
b66c94c8a2
Add publish command. ( #167 )
...
* Add publish command.
* publish: Add tests.
* Add list-platforms and test-configuration.
* Update Guix dependencies.
* Move publishing of events and publications to retry.
2022-05-17 23:14:52 +02:00
Simone Robutti
94c85d8b48
introduce locale ( #165 )
...
* introduced locale option
* added tests
2022-04-11 18:13:35 +02:00
Giacomo Leidi
981fcf0486
Fix recap ( #161 )
...
* Drop dependency on python-telegram-bot, as it's not used.
* Align default templates.
This patch tries to bring some consistency to the default templates and
fixes some small bug in the output of some formatters.
2022-03-26 22:46:33 +01:00
Simone Robutti
3e7b9097a4
Update twitter.tmpl.j2 ( #160 )
...
* Update twitter.tmpl.j2
* Update twitter_recap.tmpl.j2
2022-03-15 21:52:14 +01:00
Simone Robutti
1217b17326
fix event retry ( #152 )
...
* added twitter error handling
* added facebook tests
* added header format test
* added multiple newlines check
* added test list command
* fixed commands structure
* fixed event retry
* fixed publication retry
* added publication tests
* removed unused option
* fixed list begin/end window
* added test retry failures
* linting
* refactored sender
* added timezone freeze
* fixed facebook-sdk and beatifulsoup errors
2022-03-06 10:41:02 +01:00
Simone Robutti
420f823dd4
platform tests ( #150 )
...
* added twitter error handling
* added facebook tests
* added header format test
* added multiple newlines check
2022-03-02 08:59:49 +01:00
Giacomo Leidi
529f83825e
Pave the way for using only EventPublications outside of storage module. ( #149 )
...
* Move `EventPublication.from_orm` to `storage.query.converter`.
Co-authored-by: Simone Robutti <simone.robutti@protonmail.com>
2022-02-23 17:26:13 +01:00
Simone Robutti
bda4b8ee0d
fix timezone in test ( #145 )
...
* added timezone fixture
* Make output dependent on local timezone.
* Fix non deterministic behavior in html to text conversion.
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2022-02-22 11:28:16 +01:00
Simone Robutti
11de1e1213
fixed facebook format ( #142 )
2022-02-16 13:51:00 +01:00
Simone Robutti
f0a7449336
rework maintenance cli ( #140 )
...
* added default
* moved object before verb
* added event retry
* added publication_retry
* renamed inspect to list
* fixed retry publication
* fixed retry event and structure
2022-02-14 21:10:27 +01:00
magowiz
45802ecbdd
Feature/optimizing download ( #118 )
...
* add column last_update_time
* save last_update_time in event db record
* use id + updatedAt for comparison instead of mobilizon_id, this will treat updated events like new ones
* rework event selection/comparison to include unpublished with updates to ones need to be saved
* added update for unpublished events
* tests: test_update: Add create_unpublished_events tests.
* Move `MobilizonEvent.to_model` to `storage.query`
* Move `MobilizonEvent.from_model` to `storage.query`
* Move `MobilizonEvent.compute_status` to `storage.query`
* Move `publishers.exception.EventNotFound` to `storage.query.exceptions`
2022-02-09 00:54:56 +01:00
Giacomo Leidi
ad8647704d
Add event name to notifications. ( #136 )
2022-02-05 18:46:48 +01:00
Simone Robutti
5804b55dd8
Fix markdown cropping ( #128 )
...
* fixed error log
* changed telegram publisher to use HTML format
* fixed dataclass update issue
* docker: Add python-telegram-bot.
* docker: mobilizon-reshare: Reenable non deterministic tests.
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2022-01-18 01:39:00 +01:00
Simone Robutti
a0a1d43fa0
rework config ( #121 )
...
* simplified config behavior
* temp
* removed redundant tests
* removed publication window
* removed settings_file cli option
* add pre_test code, in order to set environment variables
* Revert "add pre_test code, in order to set environment variables"
This reverts commit 0d25f9313a
.
Co-authored-by: magowiz <magowiz@gmail.com>
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2022-01-08 00:54:27 +01:00
Simone Robutti
5bce70b4a1
retry command ( #119 )
...
* added failed publication retrieval
* completed retry command
* added more error handling
* added atomic to query
2022-01-04 21:35:43 +01:00
Simone Robutti
5d9d556803
improved escape characters for telegram
2021-12-05 17:29:30 +01:00
Simone Robutti
b26270eb9a
added log
2021-12-05 17:21:43 +01:00
Giacomo Leidi
d6714f2142
publishers: zulip: Catch general HTTPErrors. ( #107 )
...
* publishers: zulip: Catch general HTTPErrors.
2021-11-28 16:50:22 +01:00
Giacomo Leidi
f8bbd1df41
Fix publication exception handling for notification. ( #105 )
2021-11-27 23:31:44 +01:00
Giacomo Leidi
ed8f752fe6
Make logs a little bit more informative. ( #100 )
2021-11-20 15:53:38 +01:00
Simone Robutti
2476686c33
added facebook publisher ( #99 )
...
* added facebook publisher
* mobilizon-reshare.git: [propagated-inputs]: Add python-sdk-facebook.
This package definition has been generated with `guix import pypi -r
facebook-sdk`.
* mobilizon-reshare.git: [propagated-inputs]: Use python-facebook-sdk.git.
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2021-11-20 15:40:10 +01:00
Giacomo Leidi
f12992c5d9
publishers: zulip: Let the user specify their instance. ( #95 )
2021-11-11 16:25:09 +01:00
Simone Robutti
4dc1e4080a
fix publisher deactivation ( #93 )
...
* filtering publications with inactive publishers
* filtering publications with inactive publishers
* WIP: Generate publications at runtime.
TODO:
- change `MobilizonEvent.compute_status`'s contract and break everything
- while we're at it we should remove `PublicationStatus.WAITING`
- test `storage.query.create_publications_for_publishers`
* cli: inspect_events: Unnest if-then-else.
* publishers: abstract: Remove `EventPublication.make`.
* fixed tests
* split query.py file
* added tests for get_unpublished_events
* added tests
* more tests
* added start test
* main: start: Remove filter_publications_with_inactive_publishers.
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2021-11-11 15:18:04 +01:00
Simone Robutti
bc61ad6123
cli help messages ( #85 )
...
* added basic recap feature (no error handling)
* introduced abstractpublication
* extracted base reports
* added error report to recap
* added test
* added docs
* implemented publisher and formatter
* fixed API for recap
* removed redundant config validation
* added config sample
* added mobilizon link to templates
* added link format to telegram
* added mobilizon link to recap
* fixed config and emoji
* refactored commands
* added help messages
* improved format
2021-10-25 13:43:38 +02:00
Simone Robutti
41e82f5035
better error handling ( #92 )
...
* safe logging of notifier failure to send
* added test
2021-10-24 21:43:09 +02:00
Simone Robutti
e16dd19a7c
simplified validation ( #91 )
2021-10-24 21:32:28 +02:00
Giacomo Leidi
6430de4a84
Add Mastodon publisher. ( #83 )
...
* Add Mastodon publisher.
This commit enables publishing on Mastodon and tries to define the
minimal requirements for adding a new platform to Mobilizon Reshare.
* publishers: exceptions: Add HTTPError.
* platforms: mastodon: Make toot length customizable.
2021-10-20 00:08:58 +02:00
Simone Robutti
8de70ef857
mobilizon link in template ( #80 )
...
* added basic recap feature (no error handling)
* introduced abstractpublication
* extracted base reports
* added error report to recap
* added test
* added docs
* implemented publisher and formatter
* fixed API for recap
* removed redundant config validation
* added config sample
* added mobilizon link to templates
* added link format to telegram
* added mobilizon link to recap
* fixed config and emoji
2021-10-19 07:35:18 +02:00
Simone Robutti
489d41179e
recap header ( #79 )
...
* added basic recap feature (no error handling)
* introduced abstractpublication
* extracted base reports
* added error report to recap
* added test
* added docs
* implemented publisher and formatter
* fixed API for recap
* removed redundant config validation
* added config sample
* added active publisher test
* added recap header template
2021-10-17 14:09:24 +02:00
Simone Robutti
c14cdfb67f
twitter ( #77 )
...
* added basic recap feature (no error handling)
* introduced abstractpublication
* extracted base reports
* added error report to recap
* added test
* added docs
* implemented publisher and formatter
* fixed API for recap
* removed redundant config validation
* added config sample
2021-10-17 14:05:16 +02:00
Simone Robutti
5e171216d2
event recap ( #69 )
...
* added basic recap feature (no error handling)
* introduced abstractpublication
* extracted base reports
* added error report to recap
* added test
* added docs
2021-10-16 01:25:45 +02:00
Simone Robutti
b61a2c5c3c
More tests ( #67 )
...
* decoupled notifiers from event
* stub
* publishers working
* fixed format CLI
* fixed unit tests
* renamed abstractnotifier
* added another excluded character
* restored bundled secrets file
* test telegram escape
* tested telegram event validation
* added telegram response validation
* added pragma
* added zulip response validation test
2021-10-05 15:32:07 +02:00
Simone Robutti
bc212e7801
Check length ( #66 )
...
* decoupled notifiers from event
* stub
* publishers working
* fixed format CLI
* fixed unit tests
* renamed abstractnotifier
* added another excluded character
* restored bundled secrets file
2021-10-03 13:19:37 +02:00
Simone Robutti
b6b2402767
Refactor publication ( #65 )
...
* decoupled notifiers from event
* stub
* publishers working
* fixed format CLI
* fixed unit tests
* renamed abstractnotifier
* added another excluded character
2021-10-02 18:09:03 +02:00
Simone Robutti
3258e1b1c9
Telegram format ( #64 )
...
* improved template
* improved location format
2021-09-27 09:20:01 +02:00
Giacomo Leidi
6654d13ed0
publishers: Add Zulip publisher. ( #62 )
...
* - publishers: Add Zulip publisher.
- README.md.: Add Zulip.
- LICENSE: `fold -s LICENSE | sed 's/ *$//g' > l; mv l LICENSE`
* tests: publishers: Test Zulip publisher.
* publishers: templates: Update Zulip template.
* zulip: Add more tests.
* release.sh: Safer publication.
* tests: publishers: Move zulip specific fixtures to test_zulip.py
2021-09-26 20:12:06 +02:00
Simone Robutti
360740eae0
format event cli ( #61 )
...
* added get_formatted_event
* fixed cli settings
* added format command
* refactored inspect
2021-09-09 23:04:19 +02:00
tinoilcotechino
489e3d66ad
Fix PublisherCoordinatorReport generation. ( #54 )
...
* Fix PublisherCoordinatorReport generation.
Without this patch we are given *either* the failed or the successful
publication reports. We actually need both, this patch implements the
merge.
* Reformat
Co-authored-by: Giacomo Leidi <goodoldpaul@autistici.org>
2021-08-28 13:17:39 +02:00
Simone Robutti
2197e07213
notify failure ( #52 )
...
* fixed visualization
* simplified tests
* split into files
* refactored test expected publications
* split update tests
* expanded specifications and tests
* added event_status window tests
* fixed 'all' command
* renamed everything
* fixed uppercase
* refactored main and publisher to add notifications
* tested report successful
* added tests to publisher coordinator
* added more coordinator tests
* test coordinator success
2021-08-27 23:45:24 +02:00
Simone Robutti
2c8063cf4a
rename everything ( #50 )
...
* fixed visualization
* simplified tests
* split into files
* refactored test expected publications
* split update tests
* expanded specifications and tests
* added event_status window tests
* fixed 'all' command
* renamed everything
* fixed uppercase
2021-08-16 10:49:52 +02:00