Private GIT

Skip to content
Snippets Groups Projects
Commit 247489c5 authored by Alexis Tyler's avatar Alexis Tyler
Browse files

Remove fuzzydate and library

parent a549a212
No related branches found
No related tags found
No related merge requests found
/**
* Fuzzy Moment - convert an absolute date text into a fuzzy moment
*
* containerClass string The class name of dom element to convert (default: 'fuzzydate')
* dateHasTime boolean Whether containerClass contains a time (default: false)
* dateFormat string The python token date formatting
* timeFormat string The python token time formatting
* trimZero Whether to trim leading "0"s (default : false)
* dtGlue string To insert between the output of date and time (default: '<br />')
* dtInline Bool Whether to output date inline or use more than one line
*/
function fuzzyMoment(fmConfig) {
var containerClass = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.containerClass)) ? '.fuzzydate' : fmConfig.containerClass),
dateWithTime = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.dateHasTime)) ? false : !!fmConfig.dateHasTime),
dateFormat = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.dateFormat)) ? '' : fmConfig.dateFormat),
timeFormat = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.timeFormat)) ? '' : fmConfig.timeFormat),
trimZero = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.trimZero)) ? false : !!fmConfig.trimZero),
dtGlue = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.dtGlue)) ? '<br />' : fmConfig.dtGlue),
dtInline = (/undefined/i.test(typeof(fmConfig)) || /undefined/i.test(typeof(fmConfig.dtInline)) ? false : fmConfig.dtInline),
jd = (function (str) {
var token_map = ['a', 'ddd', 'A', 'dddd', 'b', 'MMM', 'B', 'MMMM', 'd', 'DD', 'm', 'MM', 'y', 'YY', 'Y', 'YYYY', 'x', 'L',
'H', 'HH', 'I', 'hh', 'M', 'mm', 'S', 'ss', 'p', 'A'],
result = '';
for (var i = 0; i < str.length; i++)
if (/[aAbBdmyYxHIMSp]/.test(str[i])) {
for (var t = 0; t < token_map.length; t = t + 2)
if (str[i] == token_map[t]) {
result += token_map[t + 1];
break;
}
} else if ('%' != str[i])
result += str[i];
return result;
}),
dateToken = jd(dateFormat),
timeToken = jd(timeFormat),
addQTip = (function() {
$(this).css('cursor', 'help');
$(this).qtip({
show: {
solo: true
},
position: {
viewport: $(window),
my: 'left center',
adjust: {
y: -10,
x: 2
}
},
style: {
tip: {
corner: true,
method: 'polygon'
},
classes: 'qtip-rounded qtip-dark qtip-shadow ui-tooltip-sb'
}
});
});
if (trimZero) {
timeToken = timeToken.replace(/hh/g, 'h');
timeToken = timeToken.replace(/HH/g, 'H');
dateToken = dateToken.replace(/\bDD\b/g, 'D');
}
$(containerClass).each(function() {
var input = $(this).text(),
dateA = '[<span class="fd">',
dtSeparator = ' ',
timeA = '</span>]', timeB = '[' + timeA;
if (dateWithTime) {
var timeMeta = input.match(/^.{6,}?([,\s]+)(\d{1,2}).(?:\d{2,2})(?:.(\d{2,2}))?(?:\s([ap]m))?$/im);
if (null != timeMeta) {
dtSeparator = (! /undefined/i.test(typeof(timeMeta[1])) ? timeMeta[1] : dtSeparator);
// adjust timeToken to num digits of input hours
timeToken = (! /undefined/i.test(typeof(timeMeta[2])) && 1 == timeMeta[2].length ? timeToken.replace(/hh/ig, 'h') : timeToken);
// adjust timeToken to use seconds if input has them
timeToken = (! /undefined/i.test(typeof(timeMeta[3])) && 2 == timeMeta[3].length ? timeToken : timeToken.replace(/.ss/, ''));
// adjust timeToken to am/pm or AM/PM if input has it
timeToken = (! /undefined/i.test(typeof(timeMeta[4])) && 2 == timeMeta[4].length ? timeToken.replace(/A$/, (/[ap]m/.test(timeMeta[4]) ? 'a' : 'A')) : timeToken);
}
timeA = '</span>' + dtGlue + '<span class="ft">]' + timeToken + '[' + timeA;
timeB = '[</span>' + dtGlue + '<span class="ft">]' + timeToken + timeB;
}
var inputTokens = dateToken + dtSeparator + (dateWithTime ? timeToken : 'HH:mm:ss');
if (! moment(input + (dateWithTime ? '' : dtSeparator + '00:00:00'), inputTokens).isValid())
return;
moment.lang('en', {
calendar: {
lastDay:dateA + 'Yesterday' + timeA, sameDay:dateA + 'Today' + timeA, nextDay:dateA + 'Tomorrow' + timeA,
lastWeek:dateA + 'Last] ddd' + timeB, nextWeek:dateA + 'On] ddd' + timeB,
sameElse:dateA + ']ddd, MMM D YYYY[' + timeA
},
relativeTime: {
future:'In %s', past:'%s ago', s:'seconds', m:'A minute', mm:'%d minutes', h:'An hour', hh:'%d hours',
d:'A day', dd:'%d days', M:'A month', MM:'%d months', y:'A year', yy:'%d years'
}
});
var airdatetime = moment(input + (dateWithTime ? '' : dtSeparator + '00:00:00'), inputTokens),
airdate = airdatetime.clone().hour(0).minute(0).second(0).millisecond(0),
today = moment({}),
day = Math.abs(airdate.diff(today, 'days')),
week = Math.abs(weekdiff = airdate.diff(today, 'week')), isPast = weekdiff < 0,
titleThis = false, qTipTime = false,
result = (0 == week ? airdatetime.calendar() : '');
if (/\bOn\b/i.test(result)) {
var fuzzer = false, weekday = today.day();
if (3 == weekday)
fuzzer = (5 <= day);
else if (4 == weekday || 5 == weekday)
fuzzer = (4 <= day);
else
fuzzer = (6 == day);
if (fuzzer)
result = result.replace(/\bOn\b/i, 'Next');
} else if (! /\b((Yester|To)day\b|Tomo|Last\b)/i.test(result)) {
if (14 > day)
result = airdate.from(today) + (dateWithTime ? dtGlue + airdatetime.format(timeToken) : '');
else if (4 > week) {
result = (isPast ? '' : 'In ') + (1 == week ? 'A' : week) + ' week' + (1 == week ? '' : 's') + (isPast ? ' ago' : '');
qTipTime = true;
} else {
result = airdate.from(today);
qTipTime = true;
var month = airdate.diff(today, 'month');
if (1 == parseInt(airdate.year() - today.year()))
result += (dtInline ? ' ' : '<br />') + '(Next Year)';
}
titleThis = true;
}
result = day < 7 ? result.replace(/\bLast \b/i, '') : result;
var n = false; // disable for prod
$(this).html(result);
if (dateWithTime && /(Yester|To)day/i.test(result))
$(this).find('.fd').attr('title',(n?'1) ':'') + moment.duration(airdatetime.diff(moment(),'seconds'),'seconds').humanize(true)).each(addQTip);
else if (dateWithTime)
$(this).find('.fd').attr('title',(n?'2) ':'') + airdate.from(today)).each(addQTip);
else if (! /Today/i.test(result))
$(this).find('.fd').attr('title',(n?'3) ':'') + airdate.from(today)).each(addQTip);
else
titleThis = false;
if (titleThis)
if (dateWithTime && qTipTime)
$(this).attr('title',(n?'4) ':'') + airdatetime.format(inputTokens)).each(addQTip);
else
$(this).attr('title',(n?'5) ':'') + airdate.format(dateToken)).each(addQTip);
else
if (dateWithTime && qTipTime)
$(this).find('.ft').attr('title',(n?'6) ':'') + airdatetime.format(inputTokens)).each(addQTip);
else
$(this).find('.ft').attr('title',(n?'7) ':'') + airdate.format(dateToken)).each(addQTip);
});
}
......@@ -24,7 +24,6 @@
</%block>
<%block name="content">
<% sort = sickbeard.COMING_EPS_SORT %>
<% fuzzydate = 'airdate' %>
<%namespace file="/inc_defs.mako" import="renderQualityPill"/>
<h1 class="header">${header}</h1>
<div class="h2footer pull-right">
......@@ -119,9 +118,7 @@
<td align="center" nowrap="nowrap">
<% airDate = sbdatetime.sbdatetime.sbfdatetime(cur_result['localtime']).decode(sickbeard.SYS_ENCODING) %>
<% isoDate = sbdatetime.sbdatetime.convert_to_setting(cur_result['localtime']).isoformat('T') %>
<span class="${fuzzydate}">
<time datetime="${isoDate}" class="date">${airDate}</time>
</span>
</td>
<td class="tvShow" nowrap="nowrap"><a href="${srRoot}/home/displayShow?show=${cur_result['showid']}">${cur_result['show_name']}</a>
......@@ -316,7 +313,7 @@
<div class="clearfix">
<span class="title">Airs: </span><span class="${fuzzydate}">${sbdatetime.sbdatetime.sbfdatetime(cur_result['localtime']).decode(sickbeard.SYS_ENCODING)}</span>${('', '<span> on %s</span>' % str(cur_result['network']))[bool(cur_result['network'])]}
<span class="title">Airs: </span><span class="airdate">${sbdatetime.sbdatetime.sbfdatetime(cur_result['localtime']).decode(sickbeard.SYS_ENCODING)}</span>${('', '<span> on %s</span>' % str(cur_result['network']))[bool(cur_result['network'])]}
</div>
<div class="clearfix">
......
......@@ -11,8 +11,6 @@
from sickbeard.common import Quality, qualityPresets, statusStrings, Overview
from sickbeard.helpers import anon_url
fuzzydate = 'airdate'
%>
<%block name="scripts">
<script type="text/javascript" src="${srRoot}/js/lib/jquery.bookmarkscroll.js?${sbPID}"></script>
......@@ -493,15 +491,12 @@
${file_size}
% endif
</td>
## <% date = (sbdatetime.sbdatetime.sbfdate(sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(epResult['airdate'], show.airs, show.network))), 'never')[int(epResult['airdate']) == 1] %>
<% date = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(epResult['airdate'], show.airs, show.network)) %>
<td class="col-airdate">
% if int(epResult['airdate']) != 1:
<div class="${fuzzydate}">
<time datetime="${date.isoformat('T')}" class="date">${date}</time>
</div>
% else:
<div class="${fuzzydate}">Never</div>
Never
% endif
<span class="sort_data">${date.isoformat('T')}</span>
......
......@@ -17,8 +17,6 @@
layout = sickbeard.HISTORY_LAYOUT
history_limit = sickbeard.HISTORY_LIMIT
fuzzydate = 'airdate'
%>
<%block name="css">
<style type="text/css">
......@@ -28,7 +26,6 @@
<%block name="metas">
<meta data-var="sickbeard.FUZZY_DATING" data-content="${sickbeard.FUZZY_DATING}">
<meta data-var="layout" data-content="${layout}">
<meta data-var="fuzzydate" data-content="${fuzzydate}">
</%block>
<%block name="scripts">
<script type="text/javascript" src="${srRoot}/js/new/history.js"></script>
......
......@@ -11,7 +11,6 @@
myDB = db.DBConnection()
today = str(datetime.date.today().toordinal())
layout = sickbeard.HOME_LAYOUT
fuzzydate = 'airdate'
status_quality = '(' + ','.join([str(x) for x in Quality.SNATCHED + Quality.SNATCHED_PROPER]) + ')'
status_download = '(' + ','.join([str(x) for x in Quality.DOWNLOADED + Quality.ARCHIVED]) + ')'
......@@ -52,7 +51,6 @@
<meta data-var="sickbeard.TRIM_ZERO" data-content="${sickbeard.TRIM_ZERO}">
<meta data-var="max_download_count" data-content="${max_download_count}">
<meta data-var="layout" data-content="${layout}">
<meta data-var="fuzzydate" data-content="${fuzzydate}">
</%block>
<%block name="scripts">
<script type="text/javascript" src="${srRoot}/js/new/home.js"></script>
......@@ -203,7 +201,6 @@
<div class="show-date">
% if cur_airs_next:
<% ldatetime = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(cur_airs_next, curShow.airs, curShow.network)) %>
<span class="${fuzzydate}">
<%
try:
out = str(sbdatetime.sbdatetime.sbfdate(ldatetime))
......@@ -212,7 +209,6 @@
pass
%>
${out}
</span>
% else:
<%
output_html = '?'
......@@ -371,9 +367,7 @@
<% temp_sbfdate_next = sbdatetime.sbdatetime.sbfdate(ldatetime) %>
<% temp_timegm_next = calendar.timegm(ldatetime.timetuple()) %>
<td align="center" class="nowrap">
<div class="${fuzzydate}">
<time datetime="${ldatetime.isoformat('T')}" class="date">${temp_sbfdate_next}</time>
</div>
<span class="sort_data">${temp_timegm_next}</span>
</td>
% except ValueError:
......@@ -389,9 +383,7 @@
<% temp_sbfdate_prev = sbdatetime.sbdatetime.sbfdate(pdatetime) %>
<% temp_timegm_prev = calendar.timegm(pdatetime.timetuple()) %>
<td align="center" class="nowrap">
<div class="${fuzzydate}">
<time datetime="${pdatetime.isoformat('T')}" class="date">${temp_sbfdate_prev}</time>
</div>
<span class="sort_data">${temp_timegm_prev}</span>
</td>
% except ValueError:
......
......@@ -5,8 +5,6 @@
from sickbeard.common import SKIPPED, WANTED, UNAIRED, ARCHIVED, IGNORED, SNATCHED, SNATCHED_PROPER, SNATCHED_BEST, FAILED
from sickbeard.common import Overview, Quality, qualityPresets, qualityPresetStrings
from sickbeard import sbdatetime, network_timezones
fuzzydate = 'airdate'
%>
<%block name="scripts">
<script type="text/javascript">
......@@ -79,16 +77,14 @@ Jump to Show
<tr class="seasonstyle ${Overview.overviewStrings[showCats[curShow.indexerid][whichStr]]}">
<td class="tableleft" align="center">${whichStr}</td>
<td class="tableright" align="center" class="nowrap">
<div class="${fuzzydate}">${curResult["name"]}</div>
${curResult["name"]}
</td>
<% date = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(curResult['airdate'], curShow.airs, curShow.network)) %>
<td>
% if int(curResult['airdate']) != 1:
<div class="${fuzzydate}">
<time datetime="${date.isoformat('T')}" class="date">${date}</time>
</div>
% else:
<div class="${fuzzydate}">Never</div>
Never
% endif
<span class="sort_data">${date.isoformat('T')}</span>
</td>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment