Skip to content

Commit e7c265e

Browse files
committed
Replace get_current_time with MyTime
1 parent 79c487d commit e7c265e

2 files changed

Lines changed: 39 additions & 4 deletions

File tree

nico.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import websocket
1111
from rich.console import Console
1212
from rich.table import Table
13-
from util import download, dump_json, get, get_current_time, requests_retry_session, safeify, to_jp_time, load_cookie
13+
from util import download, dump_json, get, MyTime, requests_retry_session, safeify, to_jp_time, load_cookie
1414

1515
console = Console()
1616
print = console.print
@@ -144,7 +144,7 @@ def download_timeshift(self, info_only=False, comments='yes', verbose=False, dum
144144
t.add_column('Value')
145145
t.add_row('Video ID', self.video_id)
146146
t.add_row('Title', title)
147-
t.add_row('Start time', get_current_time(begin_time_dt)["jst"]["str_pretty"] + " (JST)")
147+
t.add_row('Start time', MyTime(begin_time_dt).jst("pretty") + " (JST)")
148148
t.add_row('Max quality', max_quality)
149149
t.add_row('Filename', self.filename)
150150
print(t)

util.py

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,41 @@ def parse_to_shortdate(date_str):
285285
except:
286286
return ""
287287

288+
289+
class MyTime:
290+
def __init__(self, t=None):
291+
import pytz
292+
293+
self.tz = pytz.timezone('Asia/Tokyo')
294+
295+
if t is None:
296+
t = datetime.now()
297+
298+
# Convert now to local timezone and then to JST
299+
self.naive_time = t.replace(tzinfo=None)
300+
self.local_time = t.astimezone()
301+
self.jst_time = self.local_time.astimezone(self.tz)
302+
303+
def _format_time(self, dt, format_type):
304+
if format_type == 'obj':
305+
return dt
306+
elif format_type == "short":
307+
return dt.strftime('%y%m%d_%H%M%S')
308+
elif format_type == "pretty":
309+
return dt.strftime('%Y-%m-%d (%a) %H:%M:%S')
310+
else:
311+
raise ValueError("Invalid format_type. Choose from 'obj', 'short', 'pretty'.")
312+
313+
def local(self, format_type="obj"):
314+
return self._format_time(self.local_time, format_type)
315+
316+
def jst(self, format_type="obj"):
317+
return self._format_time(self.jst_time, format_type)
318+
319+
def naive(self, format_type="obj"):
320+
return self._format_time(self.naive_time, format_type)
321+
322+
# deprecated, will be removed in the future
288323
def get_current_time(now=None):
289324
# pip install pytz
290325
import pytz
@@ -481,13 +516,13 @@ def requests_retry_session(
481516
session.mount('https://', adapter)
482517
return session
483518

484-
def get(url, headers=None, cookies=None, encoding=None, session=None, parser='lxml'):
519+
def get(url, headers=None, cookies=None, encoding=None, session=None, parser='lxml', timeout=None):
485520
# pip install requests, lxml, beautifulsoup4
486521
from bs4 import BeautifulSoup
487522

488523
if not session:
489524
session = requests_retry_session()
490-
r = session.get(url, cookies=cookies, headers=headers)
525+
r = session.get(url, cookies=cookies, headers=headers, timeout=timeout)
491526
if encoding:
492527
return BeautifulSoup(r.content, parser, from_encoding=encoding)
493528
else:

0 commit comments

Comments
 (0)