def ask_timestamp(): print() validator = validators.timestamp(values.TS_FMT[:-4]) ret = cn.rvpl('timestamp [current time]:', validator=valwrap(validator), intro=""" Timestamp usually refers to the time when content was packaged. The timestamp should be in UTC and in the following format: YYYY-MM-DD HH:MM:SS. You may leave this blank to use the current time. """, strict=False) if not ret: return datetime.datetime.utcnow().strftime(values.TS_FMT) else: return ret + ' UTC'
'archive': 'core', 'images': 0, 'index': 'index.html', 'is_partner': False, 'is_sponsored': False, 'keep_formatting': False, 'keywords': '', 'language': '', 'multipage': False, 'publisher': '', } SPECS = { 'title': [v.required, v.nonempty], 'url': [v.required, v.nonempty, v.url], 'timestamp': [v.required, v.nonempty, v.timestamp(TS_FMT)], 'broadcast': [v.required, v.nonempty, v.OR(v.timestamp(DATE_FMT), v.match(PLACEHOLDER_RE))], 'license': [v.required, v.isin(LICENSES)], 'images': [v.optional(), v.istype(int), v.gte(0)], 'language': [v.optional(''), v.nonempty, v.match(LOCALE_RE)], 'multipage': [v.optional(), v.istype(bool)], 'index': [v.optional(''), v.match(RELPATH_RE)], 'keywords': [v.optional(''), v.nonempty, v.match(COMMASEP_RE)], 'archive': [v.optional(''), v.nonempty], 'publisher': [v.optional(''), v.nonempty], 'is_partner': [v.optional(), v.istype(bool)], 'is_sponsored': [v.optional(), v.istype(bool)], 'keep_formatting': [v.optional(), v.istype(bool)], 'replaces': [v.optional(''), v.match(CONTENT_ID_RE)], }
'images': 0, 'index': 'index.html', 'is_partner': False, 'is_sponsored': False, 'keep_formatting': False, 'keywords': '', 'language': '', 'multipage': False, 'publisher': '', } SPECS = { 'title': [v.required, v.nonempty], 'url': [v.required, v.nonempty, v.url], 'timestamp': [v.required, v.nonempty, v.timestamp(TS_FMT)], 'broadcast': [ v.required, v.nonempty, v.OR(v.timestamp(DATE_FMT), v.match(PLACEHOLDER_RE)) ], 'license': [v.required, v.isin(LICENSES)], 'images': [v.optional(), v.istype(int), v.gte(0)], 'language': [v.optional(''), v.nonempty, v.match(LOCALE_RE)], 'multipage': [v.optional(), v.istype(bool)], 'index': [v.optional(''), v.match(RELPATH_RE)], 'keywords': [v.optional(''), v.nonempty, v.match(COMMASEP_RE)], 'archive': [v.optional(''), v.nonempty], 'publisher': [v.optional(''), v.nonempty],