mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-05 20:51:15 -07:00
Add helper function for timestamp
This commit is contained in:
parent
c6cf293b12
commit
f72d93216c
10 changed files with 37 additions and 29 deletions
|
@ -112,7 +112,7 @@ class ActivityHandler(object):
|
|||
ap.set_session_state(session_key=self.get_session_key(),
|
||||
state=self.timeline['state'],
|
||||
view_offset=self.timeline['viewOffset'],
|
||||
stopped=int(time.time()))
|
||||
stopped=helpers.timestamp())
|
||||
|
||||
def on_start(self):
|
||||
if self.is_valid_session():
|
||||
|
@ -188,7 +188,7 @@ class ActivityHandler(object):
|
|||
|
||||
# Set the session last_paused timestamp
|
||||
ap = activity_processor.ActivityProcessor()
|
||||
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=int(time.time()))
|
||||
ap.set_session_last_paused(session_key=self.get_session_key(), timestamp=helpers.timestamp())
|
||||
|
||||
# Update the session state and viewOffset
|
||||
self.update_db_session()
|
||||
|
@ -252,7 +252,7 @@ class ActivityHandler(object):
|
|||
if buffer_last_triggered:
|
||||
logger.debug("Tautulli ActivityHandler :: Session %s buffer last triggered at %s." %
|
||||
(self.get_session_key(), buffer_last_triggered))
|
||||
time_since_last_trigger = int(time.time()) - int(buffer_last_triggered)
|
||||
time_since_last_trigger = helpers.timestamp() - int(buffer_last_triggered)
|
||||
|
||||
if current_buffer_count >= plexpy.CONFIG.BUFFER_THRESHOLD and time_since_last_trigger == 0 or \
|
||||
time_since_last_trigger >= plexpy.CONFIG.BUFFER_WAIT:
|
||||
|
@ -295,7 +295,7 @@ class ActivityHandler(object):
|
|||
|
||||
this_guid = last_guid
|
||||
# Check guid for live TV metadata every 60 seconds
|
||||
if db_session['live'] and int(time.time()) - db_session['stopped'] > 60:
|
||||
if db_session['live'] and helpers.timestamp() - db_session['stopped'] > 60:
|
||||
metadata = self.get_metadata(skip_cache=True)
|
||||
if metadata:
|
||||
this_guid = metadata['guid']
|
||||
|
@ -309,7 +309,7 @@ class ActivityHandler(object):
|
|||
if this_state == 'playing':
|
||||
# Update the session in our temp session table
|
||||
# if the last set temporary stopped time exceeds 60 seconds
|
||||
if int(time.time()) - db_session['stopped'] > 60:
|
||||
if helpers.timestamp() - db_session['stopped'] > 60:
|
||||
self.update_db_session()
|
||||
|
||||
# Start our state checks
|
||||
|
@ -598,7 +598,7 @@ def on_created(rating_key, **kwargs):
|
|||
|
||||
if metadata:
|
||||
notify = True
|
||||
# now = int(time.time())
|
||||
# now = helpers.timestamp()
|
||||
#
|
||||
# if helpers.cast_to_int(metadata['added_at']) < now - 86400: # Updated more than 24 hours ago
|
||||
# logger.debug("Tautulli TimelineHandler :: Library item %s added more than 24 hours ago. Not notifying."
|
||||
|
|
|
@ -129,7 +129,7 @@ def check_active_sessions(ws_request=False):
|
|||
|
||||
else:
|
||||
# Subsequent buffer notifications after wait time
|
||||
if int(time.time()) > buffer_values[0]['buffer_last_triggered'] + \
|
||||
if helpers.timestamp() > buffer_values[0]['buffer_last_triggered'] + \
|
||||
plexpy.CONFIG.BUFFER_WAIT:
|
||||
logger.info("Tautulli Monitor :: User '%s' has triggered multiple buffer warnings."
|
||||
% stream['user'])
|
||||
|
@ -165,7 +165,7 @@ def check_active_sessions(ws_request=False):
|
|||
|
||||
if not stream['stopped']:
|
||||
# Set the stream stop time
|
||||
stream['stopped'] = int(time.time())
|
||||
stream['stopped'] = helpers.timestamp()
|
||||
monitor_db.action('UPDATE sessions SET stopped = ?, state = ? '
|
||||
'WHERE session_key = ? AND rating_key = ?',
|
||||
[stream['stopped'], 'stopped', stream['session_key'], stream['rating_key']])
|
||||
|
@ -221,7 +221,7 @@ def check_recently_added():
|
|||
with monitor_lock:
|
||||
# add delay to allow for metadata processing
|
||||
delay = plexpy.CONFIG.NOTIFY_RECENTLY_ADDED_DELAY
|
||||
time_threshold = int(time.time()) - delay
|
||||
time_threshold = helpers.timestamp() - delay
|
||||
time_interval = plexpy.CONFIG.MONITORING_INTERVAL
|
||||
|
||||
pms_connect = pmsconnect.PmsConnect()
|
||||
|
|
|
@ -143,7 +143,7 @@ class ActivityProcessor(object):
|
|||
'channel_call_sign': session.get('channel_call_sign', ''),
|
||||
'channel_identifier': session.get('channel_identifier', ''),
|
||||
'channel_thumb': session.get('channel_thumb', ''),
|
||||
'stopped': int(time.time())
|
||||
'stopped': helpers.timestamp()
|
||||
}
|
||||
|
||||
keys = {'session_key': session.get('session_key', ''),
|
||||
|
@ -157,7 +157,7 @@ class ActivityProcessor(object):
|
|||
plexpy.NOTIFY_QUEUE.put({'stream_data': values.copy(), 'notify_action': 'on_play'})
|
||||
|
||||
# If it's our first write then time stamp it.
|
||||
started = int(time.time())
|
||||
started = helpers.timestamp()
|
||||
timestamp = {'started': started}
|
||||
self.db.upsert('sessions', timestamp, keys)
|
||||
|
||||
|
@ -200,11 +200,11 @@ class ActivityProcessor(object):
|
|||
if str(session['stopped']).isdigit():
|
||||
stopped = int(session['stopped'])
|
||||
else:
|
||||
stopped = int(time.time())
|
||||
stopped = helpers.timestamp()
|
||||
elif session['stopped']:
|
||||
stopped = int(session['stopped'])
|
||||
else:
|
||||
stopped = int(time.time())
|
||||
stopped = helpers.timestamp()
|
||||
self.set_session_state(session_key=session['session_key'],
|
||||
state='stopped',
|
||||
stopped=stopped)
|
||||
|
@ -575,7 +575,7 @@ class ActivityProcessor(object):
|
|||
paused_counter = None
|
||||
for session in result:
|
||||
if session['last_paused']:
|
||||
paused_offset = int(time.time()) - int(session['last_paused'])
|
||||
paused_offset = helpers.timestamp() - int(session['last_paused'])
|
||||
if session['paused_counter']:
|
||||
paused_counter = int(session['paused_counter']) + int(paused_offset)
|
||||
else:
|
||||
|
@ -624,7 +624,7 @@ class ActivityProcessor(object):
|
|||
return None
|
||||
|
||||
def set_temp_stopped(self):
|
||||
stopped_time = int(time.time())
|
||||
stopped_time = helpers.timestamp()
|
||||
self.db.action('UPDATE sessions SET stopped = ?', [stopped_time])
|
||||
|
||||
def increment_write_attempts(self, session_key=None):
|
||||
|
|
|
@ -223,6 +223,10 @@ def convert_seconds_to_minutes(s):
|
|||
return 0
|
||||
|
||||
|
||||
def timestamp():
|
||||
return int(time.time())
|
||||
|
||||
|
||||
def today():
|
||||
today = datetime.date.today()
|
||||
yyyymmdd = datetime.date.isoformat(today)
|
||||
|
@ -462,7 +466,7 @@ def create_https_certificates(ssl_cert, ssl_key):
|
|||
from OpenSSL import crypto
|
||||
from certgen import createKeyPair, createSelfSignedCertificate, TYPE_RSA
|
||||
|
||||
serial = int(time.time())
|
||||
serial = timestamp()
|
||||
domains = ['DNS:' + d.strip() for d in plexpy.CONFIG.HTTPS_DOMAIN.split(',') if d]
|
||||
ips = ['IP:' + d.strip() for d in plexpy.CONFIG.HTTPS_IP.split(',') if d]
|
||||
altNames = ','.join(domains + ips)
|
||||
|
@ -625,7 +629,7 @@ def is_valid_ip(address):
|
|||
def update_geoip_db():
|
||||
if plexpy.CONFIG.GEOIP_DB_INSTALLED:
|
||||
logger.info(u"Tautulli Helpers :: Checking for GeoLite2 database updates.")
|
||||
now = int(time.time())
|
||||
now = timestamp()
|
||||
if now - plexpy.CONFIG.GEOIP_DB_INSTALLED >= plexpy.CONFIG.GEOIP_DB_UPDATE_DAYS * 24 * 60 * 60:
|
||||
return install_geoip_db(update=True)
|
||||
logger.info(u"Tautulli Helpers :: GeoLite2 database already updated within the last %s days."
|
||||
|
@ -712,7 +716,7 @@ def install_geoip_db(update=False):
|
|||
logger.warn("Tautulli Helpers :: Failed to remove temporary GeoLite2 gzip file: %s" % e)
|
||||
|
||||
plexpy.CONFIG.__setattr__('GEOIP_DB', geolite2_db_path)
|
||||
plexpy.CONFIG.__setattr__('GEOIP_DB_INSTALLED', int(time.time()))
|
||||
plexpy.CONFIG.__setattr__('GEOIP_DB_INSTALLED', timestamp())
|
||||
plexpy.CONFIG.write()
|
||||
|
||||
logger.debug(u"Tautulli Helpers :: GeoLite2 database installed successfully.")
|
||||
|
@ -960,7 +964,7 @@ def cloudinary_transform(rating_key=None, width=1000, height=1500, opacity=100,
|
|||
img_options = {'format': img_format,
|
||||
'fetch_format': 'auto',
|
||||
'quality': 'auto',
|
||||
'version': int(time.time()),
|
||||
'version': timestamp(),
|
||||
'secure': True}
|
||||
|
||||
if width != 1000:
|
||||
|
|
|
@ -23,9 +23,11 @@ import time
|
|||
import plexpy
|
||||
if plexpy.PYTHON_VERSION < 3:
|
||||
import database
|
||||
import helpers
|
||||
import logger
|
||||
else:
|
||||
from plexpy import database
|
||||
from plexpy import helpers
|
||||
from plexpy import logger
|
||||
|
||||
|
||||
|
@ -131,7 +133,7 @@ def delete_mobile_device(mobile_device_id=None):
|
|||
def set_last_seen(device_token=None):
|
||||
db = database.MonitorDatabase()
|
||||
|
||||
last_seen = int(time.time())
|
||||
last_seen = helpers.timestamp()
|
||||
|
||||
try:
|
||||
result = db.action('UPDATE mobile_devices SET last_seen = ? WHERE device_token = ?',
|
||||
|
|
|
@ -26,10 +26,12 @@ import email.utils
|
|||
import plexpy
|
||||
if plexpy.PYTHON_VERSION < 3:
|
||||
import database
|
||||
import helpers
|
||||
import logger
|
||||
import newsletters
|
||||
else:
|
||||
from plexpy import database
|
||||
from plexpy import helpers
|
||||
from plexpy import logger
|
||||
from plexpy import newsletters
|
||||
|
||||
|
@ -144,7 +146,7 @@ def set_notify_state(newsletter, notify_action, subject, body, message, filename
|
|||
if newsletter and notify_action:
|
||||
db = database.MonitorDatabase()
|
||||
|
||||
keys = {'timestamp': int(time.time()),
|
||||
keys = {'timestamp': helpers.timestamp(),
|
||||
'uuid': newsletter_uuid}
|
||||
|
||||
values = {'newsletter_id': newsletter['id'],
|
||||
|
|
|
@ -466,7 +466,7 @@ def set_notify_state(notifier, notify_action, subject='', body='', script_args='
|
|||
|
||||
script_args = json.dumps(script_args) if script_args else None
|
||||
|
||||
keys = {'timestamp': int(time.time()),
|
||||
keys = {'timestamp': helpers.timestamp(),
|
||||
'session_key': session.get('session_key', None),
|
||||
'rating_key': session.get('rating_key', None),
|
||||
'user_id': session.get('user_id', None),
|
||||
|
@ -826,7 +826,7 @@ def build_media_notify_params(notify_action=None, session=None, timeline=None, m
|
|||
'week_number': now_iso[1], # Keep for backwards compatibility
|
||||
'datestamp': now.format(date_format),
|
||||
'timestamp': now.format(time_format),
|
||||
'unixtime': int(time.time()),
|
||||
'unixtime': helpers.timestamp(),
|
||||
'utctime': helpers.utc_now_iso(),
|
||||
# Stream parameters
|
||||
'streams': stream_count,
|
||||
|
@ -1078,7 +1078,7 @@ def build_server_notify_params(notify_action=None, **kwargs):
|
|||
'week_number': now_iso[1], # Keep for backwards compatibility
|
||||
'datestamp': now.format(date_format),
|
||||
'timestamp': now.format(time_format),
|
||||
'unixtime': int(time.time()),
|
||||
'unixtime': helpers.timestamp(),
|
||||
'utctime': helpers.utc_now_iso(),
|
||||
# Plex Media Server update parameters
|
||||
'update_version': pms_download_info['version'],
|
||||
|
|
|
@ -2553,7 +2553,7 @@ class PUSHOVER(Notifier):
|
|||
'sound': self.config['sound'],
|
||||
'html': self.config['html_support'],
|
||||
'priority': self.config['priority'],
|
||||
'timestamp': int(time.time())}
|
||||
'timestamp': helpers.timestamp()}
|
||||
|
||||
if self.config['incl_subject']:
|
||||
data['title'] = subject
|
||||
|
|
|
@ -615,7 +615,7 @@ class PmsConnect(object):
|
|||
if metadata:
|
||||
_cache_time = metadata.pop('_cache_time', 0)
|
||||
# Return cached metadata if less than cache_seconds ago
|
||||
if return_cache or int(time.time()) - _cache_time <= plexpy.CONFIG.METADATA_CACHE_SECONDS:
|
||||
if return_cache or helpers.timestamp() - _cache_time <= plexpy.CONFIG.METADATA_CACHE_SECONDS:
|
||||
return metadata
|
||||
|
||||
if rating_key:
|
||||
|
@ -1405,7 +1405,7 @@ class PmsConnect(object):
|
|||
|
||||
if metadata:
|
||||
if cache_key:
|
||||
metadata['_cache_time'] = int(time.time())
|
||||
metadata['_cache_time'] = helpers.timestamp()
|
||||
|
||||
out_file_folder = os.path.join(plexpy.CONFIG.CACHE_DIR, 'session_metadata')
|
||||
out_file_path = os.path.join(out_file_folder, 'metadata-sessionKey-%s.json' % cache_key)
|
||||
|
@ -2749,7 +2749,7 @@ class PmsConnect(object):
|
|||
web_img = img.startswith('http')
|
||||
|
||||
if refresh and not web_img:
|
||||
img = '{}/{}'.format(img.rstrip('/'), int(time.time()))
|
||||
img = '{}/{}'.format(img.rstrip('/'), helpers.timestamp())
|
||||
|
||||
if web_img:
|
||||
params = {'url': '%s' % img}
|
||||
|
|
|
@ -825,7 +825,7 @@ class Users(object):
|
|||
if user_id is None or str(user_id).isdigit():
|
||||
monitor_db = database.MonitorDatabase()
|
||||
|
||||
keys = {'timestamp': int(time.time()),
|
||||
keys = {'timestamp': helpers.timestamp(),
|
||||
'user_id': user_id}
|
||||
|
||||
values = {'user': user,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue