def imageDoc(self, uri): # check image first- maybe it was deleted try: t = photoCreated(self.graph, uri, useImageSet=False) unixTime = time.mktime(t.timetuple()) # untested except ValueError: t = None unixTime = 0 m = MediaResource(self.graph, uri, allVideos=self.allVideos) viewableBy = [] doc = { 'uri': uri, 't': t, # may be none 'unixTime': unixTime, # always a number, maybe 0 'isVideo': m.isVideo(), 'tags': set(unicode(lit) for lit in getTagLabels(self.graph, 'todo', uri)), } doc['_docTime'] = time.time() - t1 return [doc]
def GET(self): uri = URIRef(web.input()['uri']) r = MediaResource(graph, uri) size = r.getSize(sizes["screen"]) try: created = photoCreated(graph, uri) prettyDate = created.date().isoformat() except ValueError: prettyDate = "(unknown date)" tmpl = loader.load("sharesingle.html") stream = tmpl.generate( title="photo", prettyDate=prettyDate, bestJqueryLink=networking.jqueryLink( web.ctx.environ.get('HTTP_X_FORWARDED_FOR', '')), featuredImg=Markup('<img src="%s" width="%s" height="%s"/>' % (localSite(uri)+"?size=screen", size[0], size[1])), loginWidget=Markup(networking.getLoginBarSync( web.ctx.environ.get('HTTP_COOKIE', ''))), actionsAllowed=[], otherSizeLinks=[], link="l", allowedToWriteMeta=False, pageJson="", ) return (''.join(serializer(stream))).encode('utf8')
def GET_facts(request): request.setHeader("content-type", "application/json") img = URIRef(request.args['uri'][0]) # check security ret = {} lines = [] now = time.time() try: created = photoCreated(graph, img) ret['created'] = created.isoformat() sec = time.mktime(created.timetuple()) except ValueError, e: log.warn("no created time for %s" % img) import traceback traceback.print_exc() created = sec = None
def GET_facts(request): request.setHeader("content-type", "application/json") img = URIRef(request.args['uri'][0]) # check security ret = {} lines = [] now = time.time() try: created = photoCreated(graph, img, _cache=_photoCreatedCache) ret['created'] = created.isoformat() sec = time.mktime(created.timetuple()) except ValueError, e: log.warn("no created time for %s" % img) import traceback traceback.print_exc() created = sec = None
def gatherDocs(self, uri): t1 = time.time() # check image first- maybe it was deleted try: t = photoCreated(self.graph, uri) unixTime = time.mktime(t.timetuple()) # untested except ValueError: t = None unixTime = 0 m = MediaResource(self.graph, uri) viewableBy = [] doc = { 'uri': uri, 't': t, # may be none 'unixTime': unixTime, # always a number, maybe 0 'isVideo': m.isVideo(), 'tags': set(str(lit) for lit in getTagLabels(self.graph, 'todo', uri)), } doc['_docTime'] = time.time() - t1 return [doc]
def sortkey(uri): try: return photoCreated(graph, uri) except ValueError: return datetime.datetime(1,1,1, tzinfo=tzlocal())
def writeDoc(graph, uri, elasticRoot): t = photoCreated(graph, uri) fetch(elasticRoot + '')
def testUseFileTime(self): self.assertEqual( datetime.datetime(2017, 2, 11, 11, 20, 6, tzinfo=tzlocal()), photoCreated(graph, EX['img2']))
def testUseIphoneFilename(self): self.assertEqual( datetime.datetime(2017, 2, 8, 11, 12, 25, tzinfo=tzlocal()), photoCreated(graph, EX['img1']))
def testUseFileTime(self): self.assertEqual(datetime.datetime(2017, 2, 11, 11, 20, 6, tzinfo=tzlocal()), photoCreated(graph, EX['img2']))
def testUseIphoneFilename(self): self.assertEqual(datetime.datetime(2017, 2, 8, 11, 12, 25, tzinfo=tzlocal()), photoCreated(graph, EX['img1']))