diff --git a/app.py b/app.py index faec457..15d5a16 100644 --- a/app.py +++ b/app.py @@ -7,8 +7,8 @@ import sys # easywebdav python3 hack import easywebdav.client -from datetime import date, datetime - +from datetime import date, datetime, timedelta, timezone +import pytz import pprint easywebdav.basestring = str @@ -120,13 +120,19 @@ def get_project_items(project_name): project_id = get_project_id(project_name) items = [] for item in api.state['items']: + print(item) select = False if project_name == "Today": if item['due'] != None: try: due_date = datetime.strptime(item['due']['date'], "%Y-%m-%d").date() except: - due_date = datetime.strptime(item['due']['date'], "%Y-%m-%dT%H:%M:%S").date() + try: + due_date = datetime.strptime(item['due']['date'], "%Y-%m-%dT%H:%M:%S").date() + except: + due_date = datetime.strptime(item['due']['date'], "%Y-%m-%dT%H:%M:%SZ").date() + due_date += timedelta(hours=config['local_timezone_offset']) + now_date = datetime.now().date() date_check = due_date <= now_date debug(f"Check due date: {due_date} <= {now_date} = {date_check};") @@ -187,6 +193,7 @@ def get_archival_text(api): if __name__ == "__main__": # TODO Make 'type' selection work + import icalendar_parser local_filepath = os.path.join(appdir, config['filename_output']) @@ -239,3 +246,25 @@ def get_archival_text(api): webdav.upload(tmp_fp, "{}/{}".format(config['webdav_directory'], "todoist_full.txt")) os.remove(tmp_fp) + + + # ICalendar sync + for id, icalendar_data in enumerate(config['icalendar']): + icalendar_cache_time_format = r"%Y.%m.%d %H:%M" + icalendar_mem_path = os.path.join(appdir, "data", f"icalendar_{id}.date") + if not os.path.exists(icalendar_mem_path): + with open(icalendar_mem_path, "w+") as f: + f.write((datetime.now() - timedelta(days=1)).strftime(icalendar_cache_time_format)) + + with open(icalendar_mem_path, "r") as f: + last_check = datetime.strptime(f.read(), icalendar_cache_time_format) + + if datetime.now() - last_check > timedelta(minutes=int(icalendar_data['interval'])): + icalendar_parser.sync_calendar( + calendar_url=icalendar_data['url'], + tag=icalendar_data['tag'], + priority=icalendar_data['priority'] + ) + + with open(icalendar_mem_path, "w+") as f: + f.write(datetime.now().strftime(icalendar_cache_time_format)) \ No newline at end of file diff --git a/debug.json b/debug.json index 2612c6e..8b5e60d 100644 --- a/debug.json +++ b/debug.json @@ -1,172 +1,291 @@ { 'collaborator_states': [], 'collaborators': [], - 'day_orders': { '2154858937': 1, - '2154865344': 3, - '2154935189': 2, - '2155208254': 4, - '2155991753': 5, - '2156149991': 4, - '2156154055': 6, - '2156907225': 2, - '2156938492': 1, - '2156972059': 1, - '2156972156': 2, - '2157136726': 4, - '2157316741': 5, - '2157444237': 4, - '2157520510': 5, - '2158799733': 6, - '2160793131': 1, - '2165132687': 1, - '2165286242': 5, - '2167186593': 3, - '2171242134': 1, - '2171299962': 3, - '2171409627': 2, - '2171410212': 2, - '2171414675': 1, - '2172293506': 3, - '2172293718': 4, - '2172296636': 4, - '2172296895': 1, - '2172297569': 4, - '2172406106': 3, - '2173144300': 1, - '2173144376': 5, - '2173151192': 4, - '2175715494': 1, - '2175715804': 3, - '2175716013': 5, - '2176234731': 5, - '2176426754': 6, - '2178488431': 1, - '2180750361': 1, - '2185762095': 7, - '2186078653': 7, - '2192199730': 4, - '2192200299': 5, - '2192432540': 6, - '2193185223': 1, - '2193710584': 3, - '2194206559': 4, - '2194705632': 1, - '2194715918': 6, - '2194739664': 9, - '2194822841': 1, - '2194879781': 2, - '2195228171': 1, - '2196050664': 2, - '2196375321': 3, - '2196527432': 4, - '2196527681': 1, - '2196734430': 1, - '2198527329': 8, - '2199289065': 4, - '2199289384': 2, - '2199307133': 4, - '2199358567': 6, - '2202591890': 5, - '2205004255': 1, - '2205004391': 5, - '2205593464': 1, - '2205593610': 3, - '2205594197': 1, - '2206344344': 1, - '2233970106': 1, - '2233970401': 4, - '2234015174': 5, - '2234015742': 3, - '2234015824': 2, - '2234578800': 5, - '2235843267': 1, - '2240114129': 2, - '2242378263': 2, - '2242690037': 3, - '2242690293': 1, - '2242691016': 2, - '2242700429': 1, - '2242709213': 8, - '2242709675': 6, - '2242709810': 7, - '2245345251': 3, - '2246148294': 1, - '2247242777': 2, - '2249867104': 1, - '2256324741': 3, - '2256358636': 4, - '2257407466': 4, - '2258461366': 3, - '2259082212': 2, - '2259942690': 5, - '2259942896': 2, - '2260503003': 4, - '2284004578': 1, - '2333133637': 1, - '2334073357': 3, - '2334173422': 1, - '2335469341': 2, - '2337422612': 1, - '2344481701': 1, - '2348199812': 1, - '2362031417': 2, - '2362618486': 2, - '2363006612': 1, - '2365634088': 1, - '2366405895': 1, - '2366590729': 1, - '2369780139': 1, - '2369780317': 3, - '2369861460': 2, - '2371252348': 4, - '2376694841': 3, - '2448005821': 1, - '2452779711': 6, - '2474719075': 5, - '2480259259': 2, - '2482599047': 2, - '2488776947': 2, - '2490848062': 1, - '2554723465': 4, - '2554729383': 5, - '2554730085': 7, - '2554730226': 9, - '2554730229': 8, - '2554730462': 6, - '2574858152': 1, - '2585347932': 1, - '2609493857': 1, - '2624383387': 1, - '3723489923': 2, - '3817713707': 1, - '3828848934': 3, - '3828849502': 2, - '3888286804': 1, - '3950817684': 1, - '3950819706': 3, - '3952554647': 2, - '3952633799': 1, - '3966381470': 3, - '3968395921': 1, - '3969729471': 2, - '3973219867': 4, - '3990219846': 3, - '3990836625': 1, - '4025170860': 4, - '4038121809': 6, - '4041835444': 2, - '4049093407': 1, - '4049743841': 5, - '48465380': 1, - '7228120': 1, - '812534488': 1, - '853771748': 1, - '895698085': 1, - '895698086': 2, - '895700538': 1, - '90391717': 1, - '90391718': 2, - '90394170': 1}, - 'day_orders_timestamp': '1595297681.6300492', + 'day_orders': { '4711175470': 2, + '4994079156': 11, + '5203730189': 9, + '5286337971': 1, + '5328240157': 14, + '5329218245': 2, + '5330961689': 1, + '5425988020': 3, + '5481813401': 22, + '5483381835': 6, + '5483671874': 2, + '5484387625': 2, + '5501467614': 6, + '5504965485': 10, + '5511636066': 2, + '5513547090': 3, + '5514877934': 1, + '5516814934': 24, + '5516821493': 5, + '5527026938': 8, + '5527818552': 15, + '5529354596': 7, + '5533386756': 5, + '5535614672': 1, + '5536314672': 2, + '5536345376': 12, + '5536532141': 8, + '5536714078': 9, + '5538458385': 6, + '5538899218': 1, + '5539733999': 6, + '5540275788': 2, + '5541871122': 3, + '5545600905': 27, + '5545881421': 28, + '5547708842': 29, + '5548120496': 11, + '5548605723': 4, + '5548610830': 5, + '5548644917': 6, + '5548699113': 7, + '5572630357': 1, + '5574627711': 4, + '5575864978': 5, + '5602222591': 9, + '5613042491': 2, + '5617484322': 1, + '5637071071': 13, + '5637138028': 6, + '5637156089': 14, + '5637174258': 3, + '5637200842': 4, + '5637974186': 5, + '5642180006': 3, + '5644381334': 5, + '5645519445': 1, + '5645520793': 3, + '5655943914': 4, + '5656700231': 2, + '5661025777': 18, + '5674125070': 5, + '5689638015': 14, + '5692572792': 3, + '5694737745': 1, + '5695372255': 2, + '5695379197': 1, + '5708597847': 12, + '5708605940': 1, + '5708983361': 5, + '5709403061': 15, + '5710210079': 6, + '5711604724': 19, + '5714909327': 9, + '5717886846': 5, + '5719835168': 1, + '5719946213': 4, + '5720875363': 2, + '5720904989': 8, + '5721236271': 3, + '5730596836': 13, + '5736478802': 1, + '5737399605': 1, + '5738226560': 3, + '5752149320': 12, + '5753227852': 2, + '5754879319': 1, + '5756548447': 6, + '5756562792': 2, + '5757208374': 2, + '5758744440': 8, + '5760406310': 14, + '5764807877': 2, + '5764913758': 3, + '5764926300': 1, + '5765629708': 12, + '5765931185': 4, + '5770931751': 9, + '5771364756': 21, + '5772718993': 11, + '5773585733': 1, + '5774589097': 22, + '5777294837': 2, + '5778078465': 1, + '5778300032': 23, + '5778303221': 12, + '5778324916': 4, + '5779478227': 13, + '5779680724': 2, + '5780048519': 2, + '5781082872': 3, + '5782347628': 1, + '5782411094': 24, + '5782886928': 25, + '5784024010': 1, + '5785444704': 5, + '5786149815': 2, + '5786300600': 5, + '5786530018': 7, + '5786612026': 3, + '5786612933': 4, + '5786921057': 6, + '5788657250': 26, + '5790452633': 27, + '5790453418': 28, + '5790607897': 8, + '5792011899': 30, + '5792666109': 4, + '5797247508': 9, + '5797248107': 1, + '5797605802': 5, + '5797654579': 3, + '5798649310': 1, + '5798650079': 2, + '5799115364': 2, + '5800289193': 1, + '5800726439': 5, + '5800771363': 1, + '5802209788': 3, + '5806927765': 14, + '5817813139': 6, + '5820449042': 1, + '5820475294': 11, + '5823501052': 7, + '5825385390': 7, + '5825754699': 17, + '5825776378': 18, + '5826065517': 15, + '5826069279': 1, + '5837262789': 1, + '5840468225': 4, + '5842957347': 4, + '5865568088': 9, + '5865711688': 10, + '5866655052': 1, + '5866797031': 8, + '5867583509': 2, + '5869405333': 3, + '5870145296': 2, + '5870481525': 3, + '5871073007': 2, + '5872098589': 2, + '5888494179': 1, + '5888494664': 1, + '5889242827': 2, + '5890257458': 23, + '5893589690': 2, + '5893725186': 14, + '5903034063': 17, + '5924804604': 10, + '5925861831': 13, + '5926019173': 6, + '5927715324': 14, + '5928379232': 2, + '5928442397': 1, + '5949341146': 17, + '5953009874': 4, + '5953313146': 4, + '5955326556': 2, + '5955962457': 20, + '5956625880': 1, + '5956868712': 6, + '5956869486': 7, + '5957593872': 2, + '5958379332': 15, + '5958887899': 8, + '5960436187': 11, + '5961135893': 1, + '5966659904': 2, + '5970187180': 1, + '5991810746': 1, + '6046518507': 5, + '6048045737': 5, + '6050714395': 4, + '6051206295': 2, + '6070475552': 5, + '6070615827': 1, + '6071068086': 3, + '6075761623': 21, + '6082923185': 10, + '6085699609': 4, + '6085878800': 8, + '6096411454': 7, + '6100105876': 1, + '6116314762': 2, + '6120612705': 6, + '6124502521': 4, + '6125477189': 9, + '6128431619': 7, + '6149595709': 1, + '6150208096': 1, + '6165970014': 8, + '6172931088': 7, + '6180818666': 13, + '6181995363': 14, + '6182590432': 12, + '6184806979': 9, + '6185844268': 10, + '6198984570': 13, + '6200388390': 5, + '6203013765': 14, + '6204545981': 13, + '6206810895': 8, + '6225056007': 22, + '6225458892': 15, + '6226085427': 2, + '6231228962': 9, + '6236368579': 16, + '6236862728': 8, + '6243582466': 18, + '6247398343': 16, + '6248215973': 2, + '6248267359': 17, + '6252363700': 1, + '6252380442': 4, + '6253578687': 1, + '6258795447': 10, + '6258933587': 3, + '6259425462': 5, + '6261141020': 2, + '6261141700': 1, + '6268740958': 3, + '6285321002': 19, + '6293069852': 2, + '6293545279': 7, + '6295424524': 20, + '6297664500': 3, + '6299821080': 1, + '6300772459': 21, + '6305227187': 9, + '6306331285': 22, + '6306937305': 11, + '6308471362': 4, + '6312424010': 6, + '6314768559': 1, + '6314988640': 3, + '6315066992': 6, + '6318558620': 2, + '6319647402': 1, + '6325114450': 3, + '6329539313': 4, + '6332324647': 10, + '6333762745': 6, + '6333788727': 9, + '6333790724': 5, + '6335690140': 10, + '6335877773': 1, + '6339090978': 9, + '6340369363': 4, + '6340945985': 10, + '6341640249': 5, + '6345819015': 2, + '6351941243': 7, + '6352931716': 1, + '6353022016': 9, + '6354994493': 1, + '6357041954': 8, + '6362745903': 10, + '6373657514': 9, + '6382157388': 3, + '6387908092': 12, + '6388943455': 10, + '6388948418': 6, + '6389519920': 7, + '6390407366': 8, + '6390408915': 1}, + 'day_orders_timestamp': '1669717278.1846223', 'filters': [ Filter({'color': 47, 'id': 809304290, 'is_deleted': 0, @@ -234,20 +353,1701 @@ 'items': [ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, + 'child_order': 8, + 'collapsed': 0, + 'content': 'Dragon Age: Origins', + 'date_added': '2019-12-29T01:26:57Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594761665, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 18, + 'collapsed': 0, + 'content': 'Assassins Creed: Odyssey +Nyavrya', + 'date_added': '2019-12-29T01:27:05Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594761795, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 5, + 'collapsed': 0, + 'content': 'Little Nightmares 2 +Nyavrya', + 'date_added': '2019-12-29T01:27:23Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594761935, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 19, + 'collapsed': 0, + 'content': 'Divinity: Original Sin 1\\2', + 'date_added': '2019-12-29T01:27:57Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594762266, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 17, + 'collapsed': 0, + 'content': 'The Witcher 3', + 'date_added': '2019-12-29T01:28:08Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594762376, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 20, + 'collapsed': 0, + 'content': 'Witcher 1-2?', + 'date_added': '2019-12-29T01:28:16Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3594762473, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 12, + 'collapsed': 0, + 'content': 'Dragon Age: Inquisition', + 'date_added': '2020-01-06T20:12:31Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3609289191, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 21, + 'collapsed': 0, + 'content': 'Dragon Age 2?', + 'date_added': '2020-01-06T20:12:37Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3609289343, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 22, + 'collapsed': 0, + 'content': 'Homeworld: Remastered', + 'date_added': '2020-01-15T21:24:30Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3629684416, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 11, + 'collapsed': 0, + 'content': 'BioShock 1-2-3', + 'date_added': '2020-02-06T13:10:40Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3675369657, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 10, + 'collapsed': 0, + 'content': 'Spyro', + 'date_added': '2020-02-13T22:00:51Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3691154571, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 23, + 'collapsed': 0, + 'content': 'Harry potter and the prisoner of azkaban - Emulation rpi box', + 'date_added': '2020-03-13T22:02:11Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3751842473, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 1, + 'child_order': 12, + 'collapsed': 0, + 'content': 'бобер или ласка в лодке в ковбойской шляпе, плывет, отдача от ' + 'пистолетов тормозит или аж назад кижает', + 'date_added': '2020-03-15T08:31:30Z', + 'date_completed': '2022-10-19T14:01:25Z', + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3753663139, + 'in_history': 1, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 9, + 'collapsed': 0, + 'content': 'UTOW story: Marks victims drawing symbol on forehead', + 'date_added': '2020-04-29T14:12:14Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 3850387083, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 24, + 'collapsed': 0, + 'content': 'The Medium XBox X?', + 'date_added': '2020-07-31T01:51:23Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4071600992, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1, + 'collapsed': 0, + 'content': 'Medal of Honor: Above and Beyond', + 'date_added': '2020-08-09T01:06:11Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4090110064, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 16, + 'collapsed': 0, + 'content': 'Halo Wars 2', + 'date_added': '2020-08-09T01:06:26Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4090110180, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 37, + 'collapsed': 0, + 'content': 'Выставить космос на продажу', + 'date_added': '2020-08-20T13:28:00Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4115747309, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 1, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 13, + 'collapsed': 0, + 'content': 'Finish boneworks?', + 'date_added': '2020-08-30T12:41:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4137604363, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 7, + 'collapsed': 0, + 'content': 'Hogwarts Legacy', + 'date_added': '2020-09-17T06:36:25Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2023-02-10', + 'is_recurring': False, + 'lang': 'en', + 'string': '10 Feb 2023', + 'timezone': None}, + 'has_more_notes': False, + 'id': 4180995351, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 3, + 'collapsed': 0, + 'content': 'No Mans Sky with updates', + 'date_added': '2020-09-19T04:25:32Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4186643543, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 14, + 'collapsed': 0, + 'content': 'rdr2', + 'date_added': '2020-10-01T03:12:11Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4219188669, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, 'child_order': 4, 'collapsed': 0, - 'content': 'Realistic Animations for Portfolio', - 'date_added': '2019-12-28T23:49:44Z', + 'content': 'Nier Replicant Remaster', + 'date_added': '2020-10-18T22:32:58Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4265581590, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 2, + 'collapsed': 0, + 'content': 'Commission announcer icons', + 'date_added': '2020-10-30T18:46:38Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4297800354, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 12, + 'collapsed': 0, + 'content': 'RANDOMIZER: Recently\\Often used images', + 'date_added': '2020-11-02T16:10:15Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4304022354, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 25, + 'collapsed': 0, + 'content': 'Neverwinter Nights', + 'date_added': '2020-11-10T09:40:57Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4324027843, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 15, + 'collapsed': 0, + 'content': 'Crash Bandicoot 4', + 'date_added': '2021-01-09T22:35:38Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4476240902, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 6, + 'collapsed': 0, + 'content': 'Black Mesa', + 'date_added': '2021-01-09T22:42:41Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4476250413, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 15, + 'collapsed': 0, + 'content': '[Pure Onyx - Splicer Thug and Runt Double Team ' + '(Eromancer)](https://www.reddit.com/r/GameOverGirls/comments/ll94ze/pure_onyx_splicer_thug_and_runt_double_team/?utm_medium=android_app&utm_source=share)', + 'date_added': '2021-02-17T14:26:28Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4588029279, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 14, + 'collapsed': 0, + 'content': 'LogsManager - Upload to GDrive', + 'date_added': '2021-02-20T11:44:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4596085968, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 188, + 'collapsed': 0, + 'content': 'Показания воды и энергии (с 15 по 26) ' + 'https://www.mos.ru/pgu/ru/application/guis/1111/', + 'date_added': '2021-04-02T09:13:45Z', + 'date_completed': None, + 'day_order': 2, + 'description': '', + 'due': {'date': '2022-12-21', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 21st', + 'timezone': None}, + 'has_more_notes': False, + 'id': 4711175470, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 26, + 'collapsed': 0, + 'content': 'More VR gameshttps://www.youtube.com/watch?v=dwUjvGKzQbE', + 'date_added': '2021-04-19T18:03:45Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4758239805, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 27, + 'collapsed': 0, + 'content': 'Hellblade I - II', + 'date_added': '2021-05-18T21:43:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4838417944, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 23, + 'collapsed': 0, + 'content': '[Bayesian - Home ' + 'Assistant](https://www.home-assistant.io/integrations/bayesian/) ' + 'Nyavrya prescense', + 'date_added': '2021-05-30T06:16:16Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4868139452, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 28, + 'collapsed': 0, + 'content': 'Necromunda', + 'date_added': '2021-06-05T08:46:35Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4885177091, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 30, + 'collapsed': 0, + 'content': '[Check out "GYMMY ' + 'FIT"](https://play.google.com/store/apps/details?id=com.gymmy)', + 'date_added': '2021-06-17T08:16:41Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4918145073, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 1, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 473, + 'collapsed': 0, + 'content': 'Ночь или неск часов и фотосейшн в подушкине в гладиаторском на ' + 'др?', + 'date_added': '2021-06-20T00:53:27Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2023-04-01', + 'is_recurring': False, + 'lang': 'en', + 'string': '1 Apr 2023', + 'timezone': None}, + 'has_more_notes': False, + 'id': 4925121632, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 16, + 'collapsed': 0, + 'content': 'RP Profiles website', + 'date_added': '2021-06-22T15:16:47Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4932121959, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 17, + 'collapsed': 0, + 'content': 'L Face manipulation tests [We Try Making A.i. Age Our Childhood ' + 'Photos](https://www.youtube.com/watch?v=SZnqvC9VSng)', + 'date_added': '2021-06-28T08:31:38Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 4946825564, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 29, + 'collapsed': 0, + 'content': 'Lone echo VR', + 'date_added': '2021-08-23T23:05:40Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5093342221, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 906, + 'collapsed': 0, + 'content': 'Годовщина свадьбы', + 'date_added': '2021-09-17T08:31:05Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2023-09-17', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 17 sep', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5163757554, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 30, + 'collapsed': 0, + 'content': "Project EVE (PS5 Exclusive, otherwise would've been P1)", + 'date_added': '2021-09-28T07:34:03Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5193753853, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 1, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1256, + 'collapsed': 0, + 'content': 'Когда то мы хотели посетить планетарий. Может в этом месяце?', + 'date_added': '2021-11-14T10:39:19Z', + 'date_completed': None, + 'day_order': 14, + 'description': '', + 'due': {'date': '2022-12-14', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every month', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5328240157, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 1, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 21, + 'collapsed': 0, + 'content': 'Сгонять в МФЦ по ОМС', + 'date_added': '2021-11-14T12:53:20Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5328446753, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1261, + 'collapsed': 0, + 'content': "Refresh DeadMan'sFlash data", + 'date_added': '2021-11-14T19:35:54Z', + 'date_completed': None, + 'day_order': 2, + 'description': '', + 'due': {'date': '2023-05-15', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 6 months', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5329218245, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1265, + 'collapsed': 0, + 'content': 'MONDAY: Tackle small tasks and workflow optimizations and ' + 'Plan\\Choose tasks for this week', + 'date_added': '2021-11-15T10:29:38Z', + 'date_completed': None, + 'day_order': 1, + 'description': '', + 'due': {'date': '2022-12-05', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every monday', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5330961689, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 26, + 'collapsed': 0, + 'content': 'BroDynamics: Consider sharing promocode: [How to create secondary ' + 'animation using dynamics in Maya ' + '\\[RUS\\]](https://www.youtube.com/watch?v=413Ax3RWXho)', + 'date_added': '2021-11-15T19:41:25Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5332730167, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 31, + 'collapsed': 0, + 'content': '[GitHub - AnalogJ/scrutiny: Hard Drive S.M.A.R.T Monitoring, ' + 'Historical Trends & Real World Failure ' + 'Thresholds](https://github.com/AnalogJ/scrutiny)', + 'date_added': '2021-11-22T11:03:10Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5351532551, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 47, + 'collapsed': 0, + 'content': '[«Lenovo IDEAPAD 510-15ISK экран» — Результаты поиска — ' + 'Яндекс.Маркет](https://market.yandex.ru/search?text=Lenovo%20IDEAPAD%20510-15ISK%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD&cvredirect=2&onstock=0&local-offers-first=0) ' + 'заказать', + 'date_added': '2021-11-27T18:42:45Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5366573335, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 31, + 'collapsed': 0, + 'content': '[What’s a game that you slept on for years and were blown away ' + 'when you finally played ' + 'it?](https://www.reddit.com/r/gaming/comments/r8r9ji/whats_a_game_that_you_slept_on_for_years_and_were/?utm_medium=android_app&utm_source=share)', + 'date_added': '2021-12-04T19:53:15Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5386872732, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 18, + 'collapsed': 0, + 'content': 'RAND: Sqlite fir cache but also thumbnail storage, could speed ' + 'things up', + 'date_added': '2021-12-19T10:48:34Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5426058227, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2234837409, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1544, + 'collapsed': 0, + 'content': 'PZD: Sync', + 'date_added': '2022-01-10T10:01:52Z', + 'date_completed': None, + 'day_order': 2, + 'description': '', + 'due': {'date': '2022-12-05', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every monday', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5483671874, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [2162831209], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 29, + 'collapsed': 0, + 'content': 'BT: Send discounts to those in .csv list', + 'date_added': '2022-01-30T19:30:47Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5548855521, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 1667, + 'collapsed': 0, + 'content': 'Photosession?', + 'date_added': '2022-02-03T22:47:47Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2022-12-04', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every month', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5563379042, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 3, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 39, + 'collapsed': 0, + 'content': '[Уникальная палатка ' + 'babytent](https://babytent.ru/?utm_source=facebook&utm_campaign=red3&fbclid=PAAabcwNL9i-rC_DT0ygSEZAOnqzIDnlkFx-HOyJb_xy2AvgYhW02j4QomdeY&external_browser_redirect=true)', + 'date_added': '2022-02-04T15:06:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5565296203, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 1, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 32, + 'collapsed': 0, + 'content': 'Metro Exodus', + 'date_added': '2022-02-16T21:34:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5603043524, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 38, + 'collapsed': 0, + 'content': 'Заняться установкой беде в туалете', + 'date_added': '2022-03-11T10:31:10Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5667598707, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 36, + 'collapsed': 0, + 'content': '[Булочки с корицей, пошаговый рецепт с ' + 'фото](https://www.gastronom.ru/recipe/32070/bulochki-s-koricej)', + 'date_added': '2022-03-27T13:48:54Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5711667255, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 33, + 'collapsed': 0, + 'content': '[What is your favorite cozy, lazy, rainy-day ' + 'game?](https://www.reddit.com/r/pcmasterrace/comments/ttqgqo/what_is_your_favorite_cozy_lazy_rainyday_game/?utm_medium=android_app&utm_source=share)', + 'date_added': '2022-04-01T23:29:41Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5729658590, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 42, + 'collapsed': 0, + 'content': 'ДР Сандры Лесогоровой', + 'date_added': '2022-04-20T12:54:42Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2023-06-25', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 25 june', + 'timezone': None}, + 'has_more_notes': False, + 'id': 5779795934, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 35, + 'collapsed': 0, + 'content': '[Infinity: ' + 'Battlescape](https://www.inovaestudios.com/Battlescape#gameplay)', + 'date_added': '2022-04-27T08:49:28Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5798571571, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 36, + 'collapsed': 0, + 'content': 'https://www.sanctuary-rts.com/', + 'date_added': '2022-04-27T08:49:46Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5798572203, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 4, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 35, + 'collapsed': 0, + 'content': 'TEYES магнитола подумать', + 'date_added': '2022-06-12T18:47:53Z', + 'date_completed': None, + 'day_order': -1, + 'description': 'https://aliexpress.ru/item/4001003119945.html?_evo_buckets=165609%2C165598%2C188871%2C194275%2C299287%2C224373%2C176818&_t=gps-id%3AaerPdpSubstituteRcmd%2Cscm-url%3A1007.34525.285605.0%2Cpvid%3Aadbea032-5ca4-4ad0-8053-277bfd2b005e%2Ctpp_buckets%3A24525%230%23285605%2324_21387%230%23289460%231_21387%239507%23434564%239&gps-id=aerPdpSubstituteRcmd&item_id=4001003119945&pvid=adbea032-5ca4-4ad0-8053-277bfd2b005e&scenario=aerPdpSubstituteRcmd&scm=1007.34525.285605.0&scm-url=1007.34525.285605.0&scm_id=1007.34525.285605.0&sku_id=12000016824822813&spm=a2g2w.detail.1000060.2.1082298eLuWrnK&tpp_rcmd_bucket_id=285605', + 'due': None, + 'has_more_notes': False, + 'id': 5923221014, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 19, + 'collapsed': 0, + 'content': 'Изучить налогообложение счета в разных странах', + 'date_added': '2022-06-17T07:22:37Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5936237648, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 24, + 'collapsed': 0, + 'content': 'BroDynamics - Custom particles and springs and new simulation ' + 'mode', + 'date_added': '2022-06-22T12:39:32Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5949356802, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 3, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 57, + 'collapsed': 0, + 'content': 'UFL: Reduce influence of age on XP', + 'date_added': '2022-06-23T16:04:05Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 5952821908, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 37, + 'collapsed': 0, + 'content': 'Atom: RPG', + 'date_added': '2022-07-21T15:30:30Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 6024441202, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 2382, + 'collapsed': 0, + 'content': 'WiFire подключить автоплатеж, отключал потому что накопилось ' + 'много денег на балансе (Убедиться что автоплатеж соответствует ' + 'абонентской плате)', + 'date_added': '2022-08-01T09:20:40Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2023-01-25', + 'is_recurring': False, + 'lang': 'en', + 'string': '25 Jan 2023', + 'timezone': None}, + 'has_more_notes': False, + 'id': 6050639163, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 4, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 38, + 'collapsed': 0, + 'content': 'Nier replicant', + 'date_added': '2022-08-06T12:58:19Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594705105, + 'id': 6065266787, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, 'priority': 3, + 'project_id': 2225574460, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 41, + 'collapsed': 0, + 'content': 'Пересоздать вклад или нет?', + 'date_added': '2022-08-18T11:31:24Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'has_more_notes': False, + 'id': 6096362464, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 2, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -256,15 +2056,45 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, + 'child_order': 2452, + 'collapsed': 0, + 'content': 'Добавили ли мединцентр, спросить в VK Teams?', + 'date_added': '2022-08-19T08:46:22Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': {'date': '2022-12-13', + 'is_recurring': False, + 'lang': 'en', + 'string': '13 Dec', + 'timezone': None}, + 'has_more_notes': False, + 'id': 6098882867, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'legacy_project_id': 133194839, + 'parent_id': None, + 'priority': 3, + 'project_id': 938501207, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, 'child_order': 28, 'collapsed': 0, - 'content': 'Record videos for portfolio from paladins', - 'date_added': '2019-12-28T23:51:59Z', + 'content': 'BroUVPinNode Conitnue', + 'date_added': '2022-08-27T07:52:58Z', 'date_completed': None, 'day_order': -1, + 'description': '[\\[Maya-Python\\] Get point position using Uv ' + 'map](https://python-inside-maya.narkive.com/IxaQYVmO/maya-python-get-point-position-using-uv-map)', 'due': None, 'has_more_notes': False, - 'id': 3594706572, + 'id': 6120612705, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -279,21 +2109,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 2, + 'child_order': 25, 'collapsed': 0, - 'content': 'Dragon Age: Origins', - 'date_added': '2019-12-29T01:26:57Z', + 'content': 'BroDynamics: Batch window Get Set bugged!', + 'date_added': '2022-08-30T08:35:51Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594761665, + 'id': 6128431619, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 3, - 'project_id': 2225574460, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -301,21 +2133,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 8, + 'child_order': 32, 'collapsed': 0, - 'content': 'Assassins Creed: Odyssey +Nyavrya', - 'date_added': '2019-12-29T01:27:05Z', + 'content': 'Guitar: Try learn enter sandman', + 'date_added': '2022-08-31T19:27:08Z', 'date_completed': None, 'day_order': -1, + 'description': 'https://www.youtube.com/watch?v=h-upY47Yl90', 'due': None, 'has_more_notes': False, - 'id': 3594761795, + 'id': 6133604345, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 2, - 'project_id': 2225574460, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -323,21 +2157,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 9, + 'child_order': 40, 'collapsed': 0, - 'content': 'Little Nightmares 2 +Nyavrya', - 'date_added': '2019-12-29T01:27:23Z', + 'content': 'Тюлень, Godot показать?', + 'date_added': '2022-09-08T20:04:09Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594761935, + 'id': 6157090181, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -345,20 +2181,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 10, + 'child_order': 39, 'collapsed': 0, - 'content': 'Divinity: Original Sin 1\\2', - 'date_added': '2019-12-29T01:27:57Z', + 'content': 'outer wilds', + 'date_added': '2022-09-09T16:05:07Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594762266, + 'id': 6159500702, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, @@ -367,20 +2204,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 1, + 'child_order': 40, 'collapsed': 0, - 'content': 'The Witcher 3', - 'date_added': '2019-12-29T01:28:08Z', + 'content': 'breath of the wild?', + 'date_added': '2022-09-09T16:05:13Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594762376, + 'id': 6159501069, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 4, + 'priority': 2, 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, @@ -389,21 +2227,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 11, + 'child_order': 22, 'collapsed': 0, - 'content': 'Witcher 1-2?', - 'date_added': '2019-12-29T01:28:16Z', + 'content': 'Бекап фоток некстклауд новый телефон няври', + 'date_added': '2022-09-10T19:20:15Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, 'has_more_notes': False, - 'id': 3594762473, + 'id': 6161993186, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -411,20 +2251,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 21, + 'child_order': 34, 'collapsed': 0, - 'content': 'Destiny VFX Bifrost', - 'date_added': '2019-12-31T12:14:07Z', + 'content': 'Reword docs brotools turbogloat', + 'date_added': '2022-09-13T21:30:13Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3598252373, + 'has_more_notes': False, + 'id': 6171628122, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 2, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -433,14 +2275,16 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 6, + 'child_order': 42, 'collapsed': 0, - 'content': 'Dragon Age: Inquisition', - 'date_added': '2020-01-06T20:12:31Z', + 'content': 'Stellar blade / project eve', + 'date_added': '2022-09-15T04:53:58Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3609289191, + 'has_more_notes': False, + 'id': 6175770823, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -454,20 +2298,27 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 12, + 'child_order': 2639, 'collapsed': 0, - 'content': 'Dragon Age 2?', - 'date_added': '2020-01-06T20:12:37Z', + 'content': 'COH3 release', + 'date_added': '2022-10-15T16:39:58Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3609289343, + 'description': '', + 'due': {'date': '2023-02-03', + 'is_recurring': False, + 'lang': 'en', + 'string': 'Feb 3 2023', + 'timezone': None}, + 'has_more_notes': False, + 'id': 6264515274, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -475,21 +2326,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 16, + 'child_order': 43, 'collapsed': 0, - 'content': 'Animate luna', - 'date_added': '2020-01-04T18:21:10Z', + 'content': 'Tempest Rising (RTS)', + 'date_added': '2022-10-18T11:01:04Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3605135572, + 'has_more_notes': False, + 'id': 6272140590, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, - 'project_id': 2225571799, + 'priority': 4, + 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -497,21 +2349,24 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 2, + 'child_order': 33, 'collapsed': 0, - 'content': 'Посмотреть ближайшие поликлиники по страховке по челюсти', - 'date_added': '2020-01-07T17:54:57Z', + 'content': 'command: --character-set-server=utf8mb4 ' + '--collation-server=utf8mb4_unicode_ci', + 'date_added': '2022-10-18T17:29:50Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3611529319, + 'has_more_notes': False, + 'id': 6273390135, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 2, - 'project_id': 2237225940, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -519,20 +2374,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 8, + 'child_order': 2655, 'collapsed': 0, - 'content': 'Blog: SmartHome Overview', - 'date_added': '2020-02-01T19:11:36Z', + 'content': 'Check Projects and Backlog', + 'date_added': '2022-10-19T18:34:59Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3664871885, + 'description': '', + 'due': {'date': '2022-12-12', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 2 mondays', + 'timezone': None}, + 'id': 6276848214, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, - 'project_id': 2225571799, + 'priority': 4, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -540,20 +2401,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 11, + 'child_order': 44, 'collapsed': 0, - 'content': 'Online .max to .fbx and .ma converter', - 'date_added': '2020-02-11T19:58:28Z', + 'content': 'Noita', + 'date_added': '2022-10-19T18:40:52Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3686184552, + 'id': 6276864644, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, 'priority': 3, - 'project_id': 2225571799, + 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -561,20 +2423,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 3, + 'child_order': 43, 'collapsed': 0, - 'content': 'Serious Sam VR', - 'date_added': '2020-02-13T22:01:01Z', + 'content': 'Check if backuper works', + 'date_added': '2022-10-20T16:59:46Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3691154792, + 'id': 6279751720, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 3, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -582,20 +2445,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 4, + 'child_order': 44, 'collapsed': 0, - 'content': 'Spyro', - 'date_added': '2020-02-13T22:00:51Z', + 'content': 'Brunhilda: Az disk, research whether to upgrade it to a 3TB one ' + "or move it's contents to Bk pool", + 'date_added': '2022-10-22T20:53:05Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3691154571, + 'id': 6285244817, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 3, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -603,20 +2468,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 5, + 'child_order': 56, 'collapsed': 0, - 'content': 'BioShock 1-2-3', - 'date_added': '2020-02-06T13:10:40Z', + 'content': 'Find hdd to use for cold storage of backup/archive folder, maybe ' + 'local too', + 'date_added': '2022-10-22T22:39:27Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3675369657, + 'id': 6285359582, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831552], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, - 'project_id': 2225574460, + 'priority': 2, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -624,20 +2492,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 13, + 'child_order': 2669, 'collapsed': 0, - 'content': 'Homeworld: Remastered', - 'date_added': '2020-01-15T21:24:30Z', + 'content': 'Заказать глобус и компас Косте', + 'date_added': '2022-10-22T17:21:22Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3629684416, + 'description': '', + 'due': {'date': '2022-11-29', + 'is_recurring': False, + 'lang': 'en', + 'string': '29 Nov', + 'timezone': None}, + 'id': 6284949058, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831552], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 2225574460, + 'priority': 2, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -645,20 +2519,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 14, + 'child_order': 45, 'collapsed': 0, - 'content': 'Harry potter and the prisoner of azkaban - Emulation rpi box', - 'date_added': '2020-03-13T22:02:11Z', + 'content': 'Оптика, по будням с 11 до 19 мастер, см бумажку', + 'date_added': '2022-10-30T08:23:13Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3751842473, + 'id': 6305959744, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, - 'project_id': 2225574460, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -666,19 +2541,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 3, + 'child_order': 46, 'collapsed': 0, - 'content': 'Горбушка платы захвата', - 'date_added': '2020-03-02T13:47:46Z', + 'content': "Brunhilda: Try iperf between Dockerhost and Fileshare's IP from " + 'Dockerhost fstab', + 'date_added': '2022-10-26T16:34:04Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3726819674, + 'id': 6296733419, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 4, + 'priority': 3, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -687,14 +2564,15 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 17, + 'child_order': 48, 'collapsed': 0, - 'content': 'Придумать харду перебивки по лору !!2', - 'date_added': '2020-01-29T16:50:13Z', + 'content': 'LOGS: Optimize table', + 'date_added': '2022-10-31T15:01:39Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3658561255, + 'id': 6309645805, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -708,19 +2586,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 24, + 'child_order': 49, 'collapsed': 0, - 'content': 'rclone with encryption fro n117', - 'date_added': '2020-01-21T18:18:06Z', + 'content': 'TodoistToTxt: Notifications functionality through customizable ' + 'webhook', + 'date_added': '2022-11-05T18:06:20Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3641689948, + 'id': 6325112865, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -729,19 +2609,24 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 29, + 'child_order': 51, 'collapsed': 0, - 'content': 'buy map lite for hotel', - 'date_added': '2020-02-15T11:22:18Z', + 'content': '[Everydayhotel: В подарок | Everydayhotel – отели Москвы для ' + 'москвичей](https://everydayhotel.ru/everydayhotel-v-podarok/) ' + '[Everydayhotel: ваш личный кабинет в номере соседнего отеля | ' + 'Everydayhotel – отели Москвы для ' + 'москвичей](https://everydayhotel.ru/vash-lichnyj-kabinet-v-nomere-sosednego-otelya/)', + 'date_added': '2022-11-05T20:16:39Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3693836557, + 'id': 6325303957, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 3, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -750,20 +2635,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 31, + 'child_order': 52, 'collapsed': 0, - 'content': 'бобер или ласка в лодке в ковбойской шляпе, плывет, отдача от ' - 'пистолетов тормозит или аж назад кижает', - 'date_added': '2020-03-15T08:31:30Z', + 'content': 'Godot: [Your first 3D ' + 'game](https://docs.godotengine.org/en/stable/getting_started/first_3d_game/index.html)', + 'date_added': '2022-10-27T20:18:54Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3753663139, + 'id': 6300444059, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 3, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -772,15 +2658,16 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 25, + 'child_order': 53, 'collapsed': 0, - 'content': 'https://youtu.be/_LNhZB8jQyo (Maya matrix constraint for a joint ' - 'rig tip)', - 'date_added': '2020-01-11T17:13:22Z', + 'content': '[ПОЛУЧИЛОСЬ В ИЗРАИЛЕ! Как найти себя в стране евреев. Секреты ' + 'успеха.](https://youtu.be/awq4Btd0oEo)', + 'date_added': '2022-11-06T22:07:03Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3620199177, + 'id': 6327568439, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -794,20 +2681,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 1, + 'child_order': 54, 'collapsed': 0, - 'content': 'UTOW story: Marks victims drawing symbol on forehead', - 'date_added': '2020-04-29T14:12:14Z', + 'content': 'Brunhilda: Move Nextcloud to Bk, steps below', + 'date_added': '2022-10-31T11:28:15Z', 'date_completed': None, 'day_order': -1, + 'description': '1. Disable rsync crontab on flieshare lxc (comment out)\n' + '2. Turn off nextcloud lxc\n' + '3. Rsync files\n' + '4. Point lxc to new location\n' + '5. Enable crontab on fileshare', 'due': None, - 'id': 3850387083, + 'id': 6308927761, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, - 'project_id': 2234837409, + 'priority': 2, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -815,20 +2707,27 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 2, + 'child_order': 2724, 'collapsed': 0, - 'content': 'fl stat sheets for more gs', - 'date_added': '2020-04-24T13:22:40Z', + 'content': 'Подготовить ДР нявре! Торт! Цветы! Может уже подарок. Но как ' + 'минимум торт и цветы.', + 'date_added': '2022-10-31T11:37:34Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3838907782, + 'description': '', + 'due': {'date': '2023-10-16', + 'is_recurring': False, + 'lang': 'en', + 'string': '16 Oct 2023', + 'timezone': None}, + 'id': 6308953603, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 2234837409, + 'priority': 4, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -836,14 +2735,15 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 32, + 'child_order': 55, 'collapsed': 0, - 'content': 'BroAPI 2.0', - 'date_added': '2020-04-29T19:23:42Z', + 'content': 'UTOW: Document the server', + 'date_added': '2022-10-27T21:17:40Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3851157614, + 'id': 6300575755, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -857,19 +2757,20 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 33, + 'child_order': 58, 'collapsed': 0, - 'content': 'Rhasspy', - 'date_added': '2020-04-23T15:55:32Z', + 'content': '[Home | The FreeMoCap Project](https://freemocap.org/)', + 'date_added': '2022-11-05T18:17:00Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3836865581, + 'id': 6325129440, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -878,20 +2779,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 3, + 'child_order': 60, 'collapsed': 0, - 'content': 'FL: Tora R Char', - 'date_added': '2020-05-31T00:31:19Z', + 'content': 'BroTools: Ask about: ' + 'https://partner.robokassa.ru/RecurringSubscription#', + 'date_added': '2022-11-03T08:38:37Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3936826731, + 'id': 6318218371, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, - 'project_id': 2234837409, + 'priority': 4, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -899,20 +2802,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 4, + 'child_order': 2771, 'collapsed': 0, - 'content': 'ufl bot rp speed multiplier', - 'date_added': '2020-05-23T21:13:23Z', + 'content': '14th Doctor Specials with Tenant', + 'date_added': '2022-11-08T21:39:01Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3920992294, + 'description': '', + 'due': {'date': '2023-11-01', + 'is_recurring': False, + 'lang': 'en', + 'string': '1 Nov 2023', + 'timezone': None}, + 'id': 6334665844, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, - 'project_id': 2234837409, + 'priority': 4, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -920,21 +2829,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 1, + 'child_order': 61, 'collapsed': 0, - 'content': 'https://medlineservice.ru/spravki/gibdd (Водительская медицинская ' - 'справка для ГИБДД 003 В-У в Москве – получить в клинике)', - 'date_added': '2020-02-29T19:01:13Z', + 'content': 'Заказать жидкий силикон', + 'date_added': '2022-11-02T09:06:06Z', 'date_completed': None, - 'day_order': 2, + 'day_order': 6, + 'description': '', 'due': None, - 'id': 3723489923, + 'id': 6315066992, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 2, - 'project_id': 2237225940, + 'priority': 3, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -942,19 +2851,20 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 34, + 'child_order': 62, 'collapsed': 0, - 'content': 'Try to make a RTS prototype', - 'date_added': '2020-06-10T00:50:24Z', + 'content': 'PZD: Как в блендере загружать позы на скелет', + 'date_added': '2022-11-10T09:14:56Z', 'date_completed': None, - 'day_order': -1, + 'day_order': 9, + 'description': '', 'due': None, - 'id': 3959834845, + 'id': 6339090978, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, + 'priority': 3, 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, @@ -963,20 +2873,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 35, + 'child_order': 45, 'collapsed': 0, - 'content': 'snowden', - 'date_added': '2020-06-11T10:21:56Z', + 'content': 'Wild Life (18+)', + 'date_added': '2022-11-11T16:05:16Z', 'date_completed': None, 'day_order': -1, + 'description': '', 'due': None, - 'id': 3963119908, + 'id': 6343225781, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'parent_id': None, - 'priority': 1, - 'project_id': 2225571799, + 'priority': 4, + 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -984,20 +2895,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 5, + 'child_order': 2795, 'collapsed': 0, - 'content': 'ufl frontend dev', - 'date_added': '2020-06-10T18:01:11Z', + 'content': 'Subverse: Is it out of early access yet?', + 'date_added': '2022-11-12T09:22:05Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3961719195, + 'description': '', + 'due': {'date': '2023-01-12', + 'is_recurring': True, + 'lang': 'en', + 'string': 'every 2 months', + 'timezone': None}, + 'id': 6344751253, 'in_history': 0, 'is_deleted': 0, 'labels': [], + 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 2234837409, + 'priority': 4, + 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1005,14 +2922,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 1, + 'child_order': 2799, 'collapsed': 0, - 'content': 'PD: Taunts', - 'date_added': '2020-02-06T13:08:40Z', + 'content': 'Суперкондерсатор NVarcher для Konstabox на почте', + 'date_added': '2022-11-14T13:30:25Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3675365818, + 'description': '', + 'due': {'date': '2022-11-30', + 'is_recurring': False, + 'lang': 'en', + 'string': '30 Nov', + 'timezone': None}, + 'id': 6350092929, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1027,20 +2949,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 2, + 'child_order': 2738, 'collapsed': 0, - 'content': 'Verify paypal https://drive.davydov.tech/s/ooXxBADQD9j5m7F', - 'date_added': '2020-05-19T11:59:12Z', + 'content': 'PZD: Максим Некрасов, продебажить юнити в Rider', + 'date_added': '2022-11-02T12:44:14Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3911062711, + 'description': '', + 'due': {'date': '2022-12-05', + 'is_recurring': False, + 'lang': 'en', + 'string': '5 Dec', + 'timezone': None}, + 'id': 6315684033, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 4, + 'priority': 3, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1049,20 +2976,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 3, + 'child_order': 2688, 'collapsed': 0, - 'content': 'Кондрово: Кроссы!', - 'date_added': '2020-07-08T21:58:10Z', + 'content': 'PZD: Напоминалка: Завести отдельную ветку от мастера для таунтов', + 'date_added': '2022-10-25T12:14:32Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 4024038136, + 'description': '', + 'due': {'date': '2022-12-05', + 'is_recurring': False, + 'lang': 'en', + 'string': '5 Dec', + 'timezone': None}, + 'id': 6292612252, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831209], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 4, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1071,25 +3003,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 7, + 'child_order': 63, 'collapsed': 0, - 'content': 'Академия парк', - 'date_added': '2020-06-28T22:18:08Z', + 'content': 'Генотек', + 'date_added': '2022-11-15T07:48:09Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-31', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Jul 31', - 'timezone': None}, - 'id': 4000995899, + 'description': '', + 'due': None, + 'id': 6352685844, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 3, - 'project_id': 938501207, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1097,21 +3025,24 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 9, + 'child_order': 72, 'collapsed': 0, - 'content': 'Ark warday script', - 'date_added': '2020-04-25T13:36:34Z', + 'content': '[Электросчетчик Меркурий-1 Wi-Fi в Москве, купить в ' + 'интернет-магазине ' + 'SAURES](https://www.saures.ru/katalog/umnye-elektroschetchiki/elektroschetchik-merkuriy-1-wi-fi/#desc)', + 'date_added': '2022-11-15T10:00:33Z', 'date_completed': None, - 'day_order': -1, + 'day_order': 9, + 'description': '', 'due': None, - 'id': 3840936972, + 'id': 6353022016, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, - 'project_id': 938501207, + 'priority': 2, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1119,24 +3050,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 15, + 'child_order': 2806, 'collapsed': 0, - 'content': 'Проконсультроваться с юристом по ипотеке', - 'date_added': '2020-06-14T16:38:02Z', + 'content': 'Photosession for nyavrya? This month? Suggest as NY, with or ' + 'without kids. Or both.', + 'date_added': '2022-11-15T11:10:11Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-30', + 'description': '', + 'due': {'date': '2023-12-01', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 30', + 'string': '1 Dec 2023', 'timezone': None}, - 'id': 3969476128, + 'id': 6353204481, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1145,24 +3078,27 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 16, + 'child_order': 2810, 'collapsed': 0, - 'content': 'InvoiceNinja v5', - 'date_added': '2020-07-15T00:52:29Z', + 'content': 'Backup most important data: photos video archive, documents, and ' + 'possibly project backups - on to an m-disc. Also think (and make ' + 'another task) about figuring out importance-sorting of data', + 'date_added': '2022-11-15T21:28:49Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-31', + 'description': '[Яндекс](https://market.yandex.ru/product--nabor-diskov-verbatim-m-disc-bd-r-5-sht-v-plastikovykh-keisakh-jewel-case/2001000333710?text=m-disc&cpc=QQZubgQl8UX4BvXFl4SGMwcvnpdRXUVlr0aui9HDGqVuGKumK0_nKxjwFuN0erk_k43_z-NMdAoTX6XcK8ylr2EbnUom0p5f_cFajnPLYER8y8TygBG4YUG5h8JQncMZYTY3c81ec5Gc6ZXIuXpCWqClx_RvwItf5SRJC7BvLf-JbVV_a4DxlA%2C%2C&sku=2001000333710&do-waremd5=0CPDHINiYCjShdIrQvoXvw&cpa=1&nid=27003310)', + 'due': {'date': '2022-11-30', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 31', + 'string': '30 Nov', 'timezone': None}, - 'id': 4037019512, + 'id': 6354986646, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1171,21 +3107,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 18, + 'child_order': 2748, 'collapsed': 0, - 'content': 'PlayhardTV - notifications about rules like donation alerts, self ' - 'host, give him url', - 'date_added': '2020-04-20T13:19:41Z', + 'content': 'Найти риелтора (Жду контакт от сани)', + 'date_added': '2022-11-04T19:17:12Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3828847908, + 'description': '', + 'due': {'date': '2022-11-30', + 'is_recurring': False, + 'lang': 'en', + 'string': '30 Nov', + 'timezone': None}, + 'id': 6323087580, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831552], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 3, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1194,20 +3134,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 19, + 'child_order': 2816, 'collapsed': 0, - 'content': 'Харду свой стрим как пример монитора и nginx рестрима?', - 'date_added': '2020-05-09T14:49:16Z', + 'content': 'https://aliexpress.ru/item/4000701974829.html?sku_id=10000006198410647&spm=a2g2w.productlist.list.5.124b7835j4JHuH', + 'date_added': '2022-11-16T13:51:19Z', 'date_completed': None, - 'day_order': 1, - 'due': None, - 'id': 3888286804, + 'day_order': -1, + 'description': 'https://aliexpress.ru/item/1005001809477468.html?sku_id=12000017706187532&spm=a2g2w.productlist.list.6.124b7835j4JHuH', + 'due': {'date': '2022-11-30', + 'is_recurring': False, + 'lang': 'en', + 'string': '30 Nov', + 'timezone': None}, + 'id': 6356935940, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1216,20 +3161,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 20, + 'child_order': 2798, 'collapsed': 0, - 'content': 'PlayHard спросить про клан - никак 4х не наберем', - 'date_added': '2020-04-28T19:44:34Z', + 'content': 'Созвон с анри', + 'date_added': '2022-11-12T19:44:49Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3848551065, + 'description': '', + 'due': {'date': '2022-11-29', + 'is_recurring': False, + 'lang': 'en', + 'string': '29 Nov', + 'timezone': None}, + 'id': 6345819015, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2163069492], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1238,20 +3188,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 21, + 'child_order': 2828, 'collapsed': 0, - 'content': 'Звук персоналки с пиканием ракеты урагана', - 'date_added': '2020-04-28T14:54:43Z', + 'content': 'Виброизоляция купить для посудомойки', + 'date_added': '2022-11-18T17:28:09Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3847879110, + 'description': 'Типа такого ' + 'https://market.yandex.ru/product--vibroshumoizoliatsiia-dlia-avtomobilia-samokleiashchaiasia-cemmix-40-60sm-2sht/1770670953?hid=91723&show-uid=16687929606431896770316001&onstock=1&from=search&text=%D0%B2%D0%B8%D0%B1%D1%80%D0%BE%D1%88%D1%83%D0%BC%D0%BE%D0%B8%D0%B7%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F&nid=18060730&sku=101823451339&do-waremd5=nBEU0NZzPQzRRmZ2qGTFtA&cpc=3hkx7FXVQdv7uGsuala_uEuL4MdhgxgxVM03-yt7TlLTK5SmRv4Us-AyYtAPwynK485Yvly-WxmHH7OHfIoWDexNSZFQM_aLqxWSOBZwsur3w6dwuKjzjoJmxh6yPBHG5D-ivcqE4ELfJbbCXnKu6HEvnXlWngBv4gRfCQRo50VdbVnigZiHDw%2C%2C&pda-redir=1', + 'due': {'date': '2022-12-06', + 'is_recurring': False, + 'lang': 'en', + 'string': '6 Dec', + 'timezone': None}, + 'id': 6363899564, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1260,21 +3216,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 22, + 'child_order': 2841, 'collapsed': 0, - 'content': 'todoist to txt get from today, upcoming and inbox and sort ' - 'accodringly', - 'date_added': '2020-06-05T20:35:30Z', + 'content': 'Предложить сходить в музей елочных игрешк сокольники', + 'date_added': '2022-11-22T10:55:43Z', 'date_completed': None, - 'day_order': 3, - 'due': None, - 'id': 3950819706, + 'day_order': 9, + 'description': '', + 'due': {'date': '2022-12-08', + 'is_recurring': False, + 'lang': 'en', + 'string': 'Dec 8', + 'timezone': None}, + 'id': 6373657514, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1283,14 +3243,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 10, + 'child_order': 2842, 'collapsed': 0, - 'content': 'Померять камин', - 'date_added': '2020-06-20T19:28:27Z', + 'content': 'Brain should fully return to normal', + 'date_added': '2022-11-23T07:38:24Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 3984000735, + 'description': '', + 'due': {'date': '2022-12-07', + 'is_recurring': False, + 'lang': 'en', + 'string': 'Dec 7', + 'timezone': None}, + 'id': 6376391691, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1305,20 +3270,30 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 13, + 'child_order': 2844, 'collapsed': 0, - 'content': 'Rsync instead of Yandex.Disk, calculate costs', - 'date_added': '2020-06-29T23:04:37Z', + 'content': 'К судье ГИБДД', + 'date_added': '2022-11-24T06:55:32Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 4003851452, + 'description': 'Давыдов Михаил Эрнестович \n' + 'вызываетесь в качестве лица, привлекаемого к ' + 'ответственности, \n' + '№ дела 05-1618/2022,\n' + 'к 11:30 01 декабря 2022 г. в судебный участок №384\n' + 'по адресу ул. Гиляровского,д.16, стр.2 mirsud', + 'due': {'date': '2022-12-01T11:30:00', + 'is_recurring': False, + 'lang': 'en', + 'string': 'Dec 1 11:30', + 'timezone': None}, + 'id': 6379320794, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1327,25 +3302,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 6, + 'child_order': 2849, 'collapsed': 0, - 'content': 'Подольше попользовать комп как основной, держать старый как ' - 'резерв, если все ок переделать в сервер', - 'date_added': '2020-06-27T01:18:01Z', + 'content': '[ГИБДД Если в понедельник пришел отрицательный ответ - искать ' + 'юриста](https://vashiprava.com/uslugi/vozvrat-voditelskikh-prav.html?yclid=7007693464401667089)', + 'date_added': '2022-11-25T09:39:36Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-31', + 'description': '', + 'due': {'date': '2022-11-29', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 31', + 'string': '29 Nov', 'timezone': None}, - 'id': 3998029141, + 'id': 6382157388, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1354,25 +3330,23 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 14, + 'child_order': 70, 'collapsed': 0, - 'content': 'PlayHard Title Скоро начнем - Resolve', - 'date_added': '2020-07-09T11:40:59Z', + 'content': '[How exactly does @app.route() tell Flask about decorated ' + 'functions?](https://www.reddit.com/r/flask/comments/z4lv55/how_exactly_does_approute_tell_flask_about/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=1&utm_content=share_button)', + 'date_added': '2022-11-26T08:38:17Z', 'date_completed': None, - 'day_order': 4, - 'due': {'date': '2020-07-28', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Jul 28', - 'timezone': None}, - 'id': 4025170860, + 'day_order': -1, + 'description': '', + 'due': None, + 'id': 6384394966, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, - 'project_id': 938501207, + 'priority': 1, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1380,18 +3354,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 23, + 'child_order': 2794, 'collapsed': 0, - 'content': 'zfs vs mergerfs+snapraid', - 'date_added': '2020-06-28T23:03:00Z', + 'content': 'steam-picker', + 'date_added': '2022-11-12T09:11:36Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-31', - 'is_recurring': False, + 'description': '', + 'due': {'date': '2022-12-03', + 'is_recurring': True, 'lang': 'en', - 'string': 'Aug 31', + 'string': 'every saturday', 'timezone': None}, - 'id': 4001053946, + 'id': 6344733758, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1406,25 +3381,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 8, + 'child_order': 64, 'collapsed': 0, - 'content': 'Check Unity Avatar', - 'date_added': '2020-07-06T12:34:42Z', + 'content': 'Riana Rogue game', + 'date_added': '2022-11-20T08:15:26Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-03', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Aug 3', - 'timezone': None}, - 'id': 4017728468, + 'description': '', + 'due': None, + 'id': 6367160505, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, - 'project_id': 938501207, + 'priority': 1, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1432,25 +3403,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 24, + 'child_order': 65, 'collapsed': 0, - 'content': 'avorion', - 'date_added': '2020-07-15T13:06:56Z', + 'content': 'Отзыв об отеле вайфай в турции', + 'date_added': '2022-11-19T05:56:52Z', 'date_completed': None, - 'day_order': 6, - 'due': {'date': '2020-08-31', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Aug 31', - 'timezone': None}, - 'id': 4038121809, + 'day_order': -1, + 'description': '', + 'due': None, + 'id': 6364994693, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 1, - 'project_id': 938501207, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1458,18 +3425,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 17, + 'child_order': 2824, 'collapsed': 0, - 'content': 'MK11 addon', - 'date_added': '2020-07-21T02:08:45Z', + 'content': 'Тех артист поискать если есть', + 'date_added': '2022-11-18T10:27:54Z', 'date_completed': None, - 'day_order': 5, - 'due': {'date': '2020-08-31', + 'day_order': 10, + 'description': '', + 'due': {'date': '2022-11-29', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 31', + 'string': 'Nov 29', 'timezone': None}, - 'id': 4049743841, + 'id': 6362745903, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1484,18 +3452,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 27, + 'child_order': 2846, 'collapsed': 0, - 'content': 'Fix ZHA', - 'date_added': '2020-07-22T20:29:55Z', + 'content': 'Slumberland - is there better quality available?', + 'date_added': '2022-11-24T13:43:35Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-28', + 'description': '', + 'due': {'date': '2022-12-10', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 28', + 'string': '10 Dec', 'timezone': None}, - 'id': 4054090315, + 'id': 6380260724, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1510,19 +3479,42 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 28, + 'child_order': 66, + 'collapsed': 0, + 'content': 'Игры можно переносить на внешний диск, и по необходимости ' + 'переносить на SSD, намного быстрее чем скачивать заново', + 'date_added': '2022-11-18T21:21:44Z', + 'date_completed': None, + 'day_order': -1, + 'description': '', + 'due': None, + 'id': 6364410716, + 'in_history': 0, + 'is_deleted': 0, + 'labels': [], + 'parent_id': None, + 'priority': 2, + 'project_id': 2225571799, + 'responsible_uid': None, + 'section_id': None, + 'sync_id': None, + 'user_id': 3121199}), + Item({'added_by_uid': 3121199, + 'assigned_by_uid': None, + 'checked': 0, + 'child_order': 2777, 'collapsed': 0, - 'content': 'Новый сетап: Комп на стол, дособрать Alex, 2 моника, Brunhilda ' - 'Upgrade', - 'date_added': '2020-07-23T00:10:06Z', + 'content': 'Check UTOW payment', + 'date_added': '2022-11-09T19:39:54Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-25', + 'description': '', + 'due': {'date': '2022-12-31', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 25', + 'string': '31 Dec', 'timezone': None}, - 'id': 4054383186, + 'id': 6337665334, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1537,21 +3529,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 30, + 'child_order': 67, 'collapsed': 0, - 'content': 'Fix Комический бомж (update discord api) !!2', - 'date_added': '2020-07-23T00:12:50Z', + 'content': 'Konstabox: Update', + 'date_added': '2022-11-26T10:30:39Z', 'date_completed': None, 'day_order': -1, + 'description': '- [x] Backup\n- [x] Install new OS\n- [ ] Upgrade code', 'due': None, - 'id': 4054386060, + 'id': 6384580976, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 2, - 'project_id': 938501207, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1559,14 +3551,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 35, + 'child_order': 2847, 'collapsed': 0, - 'content': 'Improve BroAnimation Toolbox and release !!3', - 'date_added': '2020-07-23T13:48:44Z', + 'content': 'Квартира, риелтор', + 'date_added': '2022-11-24T20:28:04Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 4055549573, + 'description': '', + 'due': {'date': '2022-12-02', + 'is_recurring': False, + 'lang': 'en', + 'string': '2 Dec', + 'timezone': None}, + 'id': 6381106075, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1581,20 +3578,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 36, + 'child_order': 2852, 'collapsed': 0, - 'content': 'OC to 5Ghz', - 'date_added': '2020-07-23T13:48:57Z', + 'content': 'Кунцево сервис позвонить записаться: +74959334033', + 'date_added': '2022-11-25T15:51:24Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 4055550021, + 'description': '', + 'due': {'date': '2022-12-02', + 'is_recurring': False, + 'lang': 'en', + 'string': '2 Dec', + 'timezone': None}, + 'id': 6383040685, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 3, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1603,25 +3605,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 33, + 'child_order': 68, 'collapsed': 0, - 'content': 'HomeAssistant AppDaemon', - 'date_added': '2020-07-23T12:42:04Z', + 'content': 'Добавить генерацию превью видео в kidbrowser', + 'date_added': '2022-11-27T17:36:33Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-31', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Aug 31', - 'timezone': None}, - 'id': 4055402867, + 'description': '', + 'due': None, + 'id': 6387226915, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 938501207, + 'priority': 3, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1629,26 +3627,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 37, + 'child_order': 69, 'collapsed': 0, - 'content': '[TinyPilot: Build a KVM Over IP for Under ' - '$100](https://mtlynch.io/tinypilot/)', - 'date_added': '2020-07-23T19:06:03Z', + 'content': 'www.tzargrad.ru', + 'date_added': '2022-11-27T18:35:14Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-08-31', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Aug 31', - 'timezone': None}, - 'id': 4056197834, + 'description': '', + 'due': None, + 'id': 6387350357, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, - 'project_id': 938501207, + 'priority': 1, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1658,19 +3651,20 @@ 'checked': 0, 'child_order': 46, 'collapsed': 0, - 'content': 'Asteroid OS', - 'date_added': '2020-07-26T16:46:34Z', + 'content': 'Half Life: Alyx: Levitation', + 'date_added': '2022-11-27T20:32:10Z', 'date_completed': None, 'day_order': -1, + 'description': '[Steam Workshop::LEVITATION (All 5 ' + 'Parts)](https://steamcommunity.com/workshop/filedetails/?id=2881604879)', 'due': None, - 'id': 4061145994, + 'id': 6387604372, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, - 'project_id': 938501207, + 'priority': 2, + 'project_id': 2225574460, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1678,25 +3672,21 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 34, + 'child_order': 71, 'collapsed': 0, - 'content': 'Document Bro Animation Toolbox', - 'date_added': '2020-07-23T13:38:45Z', + 'content': 'Sound proof nespresso machine', + 'date_added': '2022-11-28T12:11:36Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-28', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Jul 28', - 'timezone': None}, - 'id': 4055529043, + 'description': '', + 'due': None, + 'id': 6389600740, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 2, - 'project_id': 938501207, + 'priority': 1, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1704,24 +3694,26 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 48, + 'child_order': 2855, 'collapsed': 0, - 'content': 'Pi, Buttons and hat to connect them to, Kostya, Music Toy', - 'date_added': '2020-07-27T23:59:15Z', + 'content': 'Setup printer and print server', + 'date_added': '2022-11-28T08:37:39Z', 'date_completed': None, - 'day_order': -1, - 'due': {'date': '2020-08-31', + 'day_order': 6, + 'description': 'https://hub.docker.com/r/olbat/cupsd\n' + 'https://github.com/anujdatar/cups-docker', + 'due': {'date': '2022-11-29', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 31', + 'string': '29 Nov', 'timezone': None}, - 'id': 4064420903, + 'id': 6388948418, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1730,24 +3722,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 44, + 'child_order': 2859, 'collapsed': 0, - 'content': 'ZHA TW', - 'date_added': '2020-07-26T12:28:45Z', + 'content': 'VK 360 проверить', + 'date_added': '2022-11-28T18:50:46Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-29', + 'description': '', + 'due': {'date': '2022-11-29', 'is_recurring': False, 'lang': 'en', - 'string': 'Jul 29', + 'string': '29 Nov', 'timezone': None}, - 'id': 4060780887, + 'id': 6390957139, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831209], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 4, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1756,18 +3749,19 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 47, + 'child_order': 2860, 'collapsed': 0, - 'content': 'TUI Забронировать через депозит?', - 'date_added': '2020-07-26T20:12:46Z', + 'content': 'Move Atlantis once downloaded and download SG1', + 'date_added': '2022-11-28T21:08:05Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-29', + 'description': '', + 'due': {'date': '2022-11-30', 'is_recurring': False, 'lang': 'en', - 'string': 'Jul 29', + 'string': '30 Nov', 'timezone': None}, - 'id': 4061445072, + 'id': 6391352057, 'in_history': 0, 'is_deleted': 0, 'labels': [], @@ -1782,20 +3776,25 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 50, + 'child_order': 2861, 'collapsed': 0, - 'content': 'If try linux again - Debian testing', - 'date_added': '2020-07-28T01:10:35Z', + 'content': 'Ответить папе', + 'date_added': '2022-11-28T21:34:11Z', 'date_completed': None, 'day_order': -1, - 'due': None, - 'id': 4064501906, + 'description': '', + 'due': {'date': '2022-11-29', + 'is_recurring': False, + 'lang': 'en', + 'string': 'Nov 29', + 'timezone': None}, + 'id': 6391421940, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 3, + 'priority': 2, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, @@ -1804,25 +3803,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 51, + 'child_order': 73, 'collapsed': 0, - 'content': '!!3 Fix LEDs on RPI', - 'date_added': '2020-07-28T01:18:31Z', + 'content': '[Web-UI for Whisper, an awesome audio transcription AI. Easy to ' + 'self-host.](https://www.reddit.com/r/selfhosted/comments/z6r9x1/webui_for_whisper_an_awesome_audio_transcription/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=1&utm_content=share_button)', + 'date_added': '2022-11-29T07:57:46Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-28', - 'is_recurring': False, - 'lang': 'en', - 'string': 'Jul 28', - 'timezone': None}, - 'id': 4064510468, + 'description': '', + 'due': None, + 'id': 6392504720, 'in_history': 0, 'is_deleted': 0, 'labels': [], - 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 2, - 'project_id': 938501207, + 'project_id': 2225571799, 'responsible_uid': None, 'section_id': None, 'sync_id': None, @@ -1830,21 +3826,22 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 49, + 'child_order': 2862, 'collapsed': 0, - 'content': 'PD: Dutch and Red Flag show', - 'date_added': '2020-07-27T23:59:54Z', + 'content': 'PZD: Разговор с Валерой по проекту', + 'date_added': '2022-11-29T09:51:21Z', 'date_completed': None, 'day_order': -1, - 'due': {'date': '2020-07-28', + 'description': '', + 'due': {'date': '2022-11-30T15:00:00', 'is_recurring': False, 'lang': 'en', - 'string': 'Jul 28', + 'string': '30 Nov 15:00', 'timezone': None}, - 'id': 4064421639, + 'id': 6392784150, 'in_history': 0, 'is_deleted': 0, - 'labels': [], + 'labels': [2162831209], 'legacy_project_id': 133194839, 'parent_id': None, 'priority': 4, @@ -1856,42 +3853,132 @@ Item({'added_by_uid': 3121199, 'assigned_by_uid': None, 'checked': 0, - 'child_order': 53, + 'child_order': 2863, 'collapsed': 0, - 'content': 'Otium - Larissa?? В каком из них мы отдыхали?', - 'date_added': '2020-07-28T12:55:07Z', + 'content': 'PZD: test: descriptiontest tetwetwet @pzd', + 'date_added': '2022-11-29T14:25:31Z', 'date_completed': None, + 'date_string': '2022.11.29 at 17:30', 'day_order': -1, - 'due': {'date': '2020-08-31', + 'description': 'descriptiontest tetwetwet\n' + 'wetwet\n' + 'wetwet\n' + '\n' + 'Link: ' + '[Авторизация](https://calendar.yandex.ru/for/panzerdog.com/event?event_id=1784449545)\n' + '\n' + '---\n' + '[UID: mRkpHCjUyandex.ru]', + 'due': {'date': '2022-11-29T14:30:00Z', 'is_recurring': False, 'lang': 'en', - 'string': 'Aug 31', - 'timezone': None}, - 'id': 4065592127, + 'string': '29 Nov 17:30', + 'timezone': 'Europe/Moscow'}, + 'id': 6393546386, 'in_history': 0, 'is_deleted': 0, 'labels': [], 'legacy_project_id': 133194839, 'parent_id': None, - 'priority': 1, + 'priority': 4, 'project_id': 938501207, 'responsible_uid': None, 'section_id': None, 'sync_id': None, 'user_id': 3121199})], 'labels': [ Label({'color': 47, + 'id': 2154442306, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 2, + 'name': 'GCal'}), + Label({'color': 47, 'id': 2149703788, 'is_deleted': 0, 'is_favorite': 0, 'item_order': 1, 'name': 'someday'}), Label({'color': 47, - 'id': 2154442306, + 'id': 2162831205, 'is_deleted': 0, 'is_favorite': 0, - 'item_order': 2, - 'name': 'GCal'})], - 'live_notifications': [ LiveNotification({'completed_last_month': 43, + 'item_order': 3, + 'name': 'evening'}), + Label({'color': 47, + 'id': 2162831209, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 4, + 'name': 'pzd'}), + Label({'color': 47, + 'id': 2162831552, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 5, + 'name': 'family'}), + Label({'color': 47, + 'id': 2162831553, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 6, + 'name': 'health'}), + Label({'color': 47, + 'id': 2162857666, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 7, + 'name': 'brotools'}), + Label({'color': 47, + 'id': 2162921053, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 8, + 'name': 'shopping'}), + Label({'color': 47, + 'id': 2163069492, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 9, + 'name': 'runner'}), + Label({'color': 47, + 'id': 2163178157, + 'is_deleted': 0, + 'is_favorite': 0, + 'item_order': 10, + 'name': 'fl'})], + 'live_notifications': [ LiveNotification({'completed_tasks': 2227, + 'created': '2021-08-23T11:11:59Z', + 'date_reached': '2021-08-23T11:11:59Z', + 'id': 2401992250, + 'is_deleted': 0, + 'is_unread': 1, + 'karma_level': 6, + 'notification_key': 'karma_level_6', + 'notification_type': 'karma_level', + 'promo_img': 'https://d3ptyyxy2at9ui.cloudfront.net/6-866000.png', + 'top_procent': 0.1}), + LiveNotification({'completed_tasks': 742, + 'created': '2020-09-30T15:56:52Z', + 'date_reached': '2020-09-30T15:56:52Z', + 'id': 2327100962, + 'is_deleted': 0, + 'is_unread': 1, + 'karma_level': 5, + 'notification_key': 'karma_level_5', + 'notification_type': 'karma_level', + 'promo_img': 'https://d3ptyyxy2at9ui.cloudfront.net/5-8a0e1c.png', + 'top_procent': 1}), + LiveNotification({'completed_last_month': 90, + 'completed_tasks': 522, + 'created': '2020-08-14T02:13:49Z', + 'id': 2317283661, + 'is_deleted': 0, + 'is_unread': 0, + 'karma_level': 4, + 'notification_key': 'karma_level_4', + 'notification_type': 'karma_level', + 'promo_img': 'https://d3ptyyxy2at9ui.cloudfront.net/4-ef44ef.png'}), + LiveNotification({'completed_last_month': 43, 'created': '2017-11-17T05:06:03Z', 'id': 2173618298, 'is_deleted': 0, @@ -1917,8 +4004,26 @@ 'karma_level': 1, 'notification_key': 'karma_level_1', 'notification_type': 'karma_level', - 'promo_img': 'https://d3ptyyxy2at9ui.cloudfront.net/d3c52f082ccbdf395f0970301f82492e.png'})], - 'live_notifications_last_read_id': 2173618298, + 'promo_img': 'https://d3ptyyxy2at9ui.cloudfront.net/d3c52f082ccbdf395f0970301f82492e.png'}), + LiveNotification({'count': 15, + 'created': '2022-11-16T18:36:20Z', + 'goal': 15, + 'id': 2509095714, + 'is_deleted': 0, + 'is_unread': 1, + 'notification_key': 'weekly_goal_reached', + 'notification_type': 'weekly_goal_reached', + 'push_notifications': True}), + LiveNotification({'count': 2, + 'created': '2022-11-20T07:20:37Z', + 'goal': 2, + 'id': 2510602926, + 'is_deleted': 0, + 'is_unread': 1, + 'notification_key': 'daily_goal_reached', + 'notification_type': 'daily_goal_reached', + 'push_notifications': True})], + 'live_notifications_last_read_id': 2401992250, 'locations': [], 'notes': [], 'project_notes': [], @@ -1934,7 +4039,8 @@ 'legacy_id': 133194839, 'name': 'Inbox', 'parent_id': None, - 'shared': False}), + 'shared': False, + 'sync_id': None}), Project({'child_order': 1, 'collapsed': 0, 'color': 32, @@ -1943,9 +4049,10 @@ 'is_archived': 0, 'is_deleted': 0, 'is_favorite': 1, - 'name': 'Projects and Tasks For Later', + 'name': 'Backlog', 'parent_id': None, - 'shared': False}), + 'shared': False, + 'sync_id': None}), Project({'child_order': 2, 'collapsed': 0, 'color': 30, @@ -1954,12 +4061,14 @@ 'is_archived': 0, 'is_deleted': 0, 'is_favorite': 1, - 'name': 'Games to play ordered', + 'name': 'Games to play', 'parent_id': None, - 'shared': False}), + 'shared': False, + 'sync_id': None}), Project({'child_order': 3, 'collapsed': 0, 'color': 44, + 'has_more_notes': False, 'id': 2234837409, 'is_archived': 0, 'is_deleted': 0, @@ -1967,22 +4076,15 @@ 'name': 'FL', 'parent_id': None, 'shared': False, - 'sync_id': None}), - Project({'child_order': 4, - 'collapsed': 0, - 'color': 44, - 'id': 2237225940, - 'is_archived': 0, - 'is_deleted': 0, - 'is_favorite': 0, - 'name': 'COVID19 Delayed', - 'parent_id': None, - 'shared': False, 'sync_id': None})], 'reminders': [], 'sections': [], 'settings_notifications': {}, 'user': { 'auto_reminder': 60, + 'avatar_big': 'https://dcff1xvirvpfp.cloudfront.net/4725425ae67f4d96b3b5c59081f3d3d9_big.jpg', + 'avatar_medium': 'https://dcff1xvirvpfp.cloudfront.net/4725425ae67f4d96b3b5c59081f3d3d9_medium.jpg', + 'avatar_s640': 'https://dcff1xvirvpfp.cloudfront.net/4725425ae67f4d96b3b5c59081f3d3d9_s640.jpg', + 'avatar_small': 'https://dcff1xvirvpfp.cloudfront.net/4725425ae67f4d96b3b5c59081f3d3d9_small.jpg', 'business_account_id': None, 'daily_goal': 2, 'date_format': 0, @@ -2000,20 +4102,20 @@ 'restriction': 0}, 'full_name': 'Михаил Давыдов', 'id': 3121199, - 'image_id': None, + 'image_id': '4725425ae67f4d96b3b5c59081f3d3d9', 'inbox_project': 938501207, 'is_biz_admin': False, 'is_premium': False, 'join_date': '2014-12-05T09:44:06Z', - 'karma': 5731.0, + 'karma': 30935.0, 'karma_trend': 'up', 'lang': 'en', - 'legacy_inbox_project': 133194839, + 'mfa_enabled': False, 'mobile_host': None, 'mobile_number': None, 'next_week': 1, 'premium_until': '2018-07-16T11:06:40Z', - 'share_limit': 26, + 'share_limit': 25, 'sort_order': 0, 'start_day': 1, 'start_page': 'overdue, 7 days', @@ -2026,9 +4128,45 @@ 'minutes': 0, 'timezone': 'Europe/Moscow'}, 'unique_prefix': 3, - 'websocket_url': 'wss://ws.todoist.com/ws?token=24619fa53eab260a', + 'verification_status': 'legacy', + 'websocket_url': 'wss://ws.todoist.com/ws?token=MGI2ZjVmOGQ4OTc2OWI4N1S6XhG3GiRP3XznPeYeuEc', 'weekly_goal': 15}, - 'user_settings': { 'legacy_pricing': False, - 'reminder_desktop': True, - 'reminder_email': True, + 'user_settings': { 'completed_sound_desktop': False, + 'completed_sound_mobile': True, + 'habit_push_notifications': { 'features': [ { 'enabled': False, + 'name': 'plan_your_day', + 'send_at': '08:00'}, + { 'enabled': False, + 'name': 'review_your_day', + 'send_at': '16:00'}, + { 'enabled': False, + 'name': 'onboarding_tips', + 'send_at': None}]}, + 'legacy_pricing': False, + 'navigation': { 'counts_shown': True, + 'features': [ { 'name': 'inbox', + 'shown': True}, + { 'name': 'team_inbox', + 'shown': True}, + { 'name': 'today', + 'shown': True}, + { 'name': 'upcoming', + 'shown': True}, + { 'name': 'filters_and_labels', + 'shown': True}, + { 'name': 'completed', + 'shown': True}]}, + 'quick_add': { 'features': [ { 'name': 'date', + 'shown': True}, + { 'name': 'assignee', + 'shown': True}, + { 'name': 'priority', + 'shown': True}, + { 'name': 'label', + 'shown': False}, + { 'name': 'reminder', + 'shown': False}], + 'labels_shown': True}, + 'reminder_desktop': False, + 'reminder_email': False, 'reminder_push': True}} \ No newline at end of file diff --git a/example_config.yaml b/example_config.yaml index 0586b79..87771fd 100644 --- a/example_config.yaml +++ b/example_config.yaml @@ -14,3 +14,11 @@ show_completed_tasks: yes clean_up_completed_tasks: yes # Auto remove completed tasks from Todoist. Currently required to stay as Yes. If you dont like it downgrade to previous versions and wait for an update. debug: False show_due_date: yes +icalendar: + - url: XXXXXXXX + priority: 4 + tag: mycalendar + interval: 30 +local_timezone: Europe/London +local_timezone_offset: 0 + diff --git a/icalendar_parser.py b/icalendar_parser.py new file mode 100644 index 0000000..edab988 --- /dev/null +++ b/icalendar_parser.py @@ -0,0 +1,105 @@ +import requests +from io import BytesIO +from icalendar import Calendar, Event +from datetime import datetime +from pytz import UTC # timezone +import todoist +import yaml +import os +import pytz + + +appdir = os.path.dirname(os.path.realpath(__file__)) # rp, realpath + +with open(os.path.join(appdir, 'config.yaml'), 'r') as f: + config = yaml.load(f.read()) + + +local = pytz.timezone(config['local_timezone']) +naive = datetime.now() +local_dt = local.localize(naive, is_dst=None) +utc_dt_now = local_dt.astimezone(pytz.utc) + + +def sync_calendar(calendar_url, tag="todoisttotxt", priority=3): + print(f"sync_calendar: {calendar_url}; {tag}; {priority}") + response = requests.get(calendar_url) + ical_data = BytesIO(response.content) + + ical = Calendar.from_ical(ical_data.read()) + + api = todoist.TodoistAPI(config['todoist_token']) + api.sync() + + api.commit() + + a = [] + + # ['TZOFFSETFROM', 'URL', 'RRULE', 'ORGANIZER', 'X-WR-CALNAME', + # 'RDATE', 'CALSCALE', 'RECURRENCE-ID', 'VERSION', 'UID', 'TZID', + # 'X-WR-TIMEZONE', 'TZOFFSETTO', 'LAST-MODIFIED', 'TZURL', 'SUMMARY', + # 'DTSTAMP', 'DTSTART', 'CATEGORIES', 'CREATED', 'TRANSP', 'METHOD', + # 'TZNAME', 'LOCATION', 'ACTION', 'X-LIC-LOCATION', 'DESCRIPTION', 'TRIGGER', + # 'ATTENDEE', 'DTEND', 'SEQUENCE', 'PRODID'] + + for component in ical.walk(): + if component.name == "VEVENT": + # print(component.get("uid")) + # print(component.get("url")) + # print(component.get("summary")) + # print(component.get("description")) + start = component.get("dtstart") + end = component.get("dtend") + stamp = component.get("dtstamp") + ical_summary = component.get("summary") + + if start.dt < utc_dt_now: + print(f"Skip {start.dt} < {utc_dt_now}: '{ical_summary}' ") + continue + + print(f"START: {(start.dt)}; END: {end.dt}; STAMP: {stamp.dt}") + ical_uid = component.get("uid") + ical_uid_stamp = f"[UID: {ical_uid}]" + + ical_url = component.get("url") + ical_description = component.get("description", "") + + first_line = ical_description.split("\n")[0] + content = f"{tag.upper()}: {ical_summary}: {first_line} @{tag} " + description = f"""{ical_description} + +Link: {ical_url} + +--- +{ical_uid_stamp}""" + skip = False + for item in api.state['items']: + if ical_uid_stamp in item['description']: + print(f"Exists, delete: {content}") + print(item) + item.delete() + api.commit() + break + + print(f"Adding task: {content}; {description}; {start.dt}") + moscow = start.dt.astimezone(pytz.timezone('Europe/Moscow')) + date_string = moscow.strftime(r"%Y.%m.%d at %H:%M") + + # api.items.add(content=content, description=description, due={'date': start.dt.strftime(r'%Y-%m-%dT%H:%M:%S'), + # 'is_recurring': False, + # 'lang': 'en', + # 'string': start.dt.strftime(r'%d %a %Y @ %H:%M'), + # 'timezone': None}, + + # project_id=None, priority=priority) + + api.items.add(content, project_id=None, date_string=date_string, description=description, priority=priority) + api.commit() + api.sync() + + +# api = todoist.TodoistAPI(config['todoist_token']) +# api.sync() + +# api.items.get_by_id("14221847-6ff1-11ed-8b5d-44af2834ce21").delete() +# api.commit() \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 0c7b5c9..10944e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ PyYaml todoist-python -easywebdav \ No newline at end of file +easywebdav +icalendar +requests \ No newline at end of file