示例#1
0
 def _gregorian_date_order(self, d):
     if d is None:
         return None
     return Gregorian.from_string(d).orderint()
示例#2
0
文件: views.py 项目: ucamhal/Shahnama
 def summary(self, quick=False):
     if self.summaryMap is None:
         try:
             self.loadJson()
             if self.json is not None:
                 # references
                 refmap = {
                     'GeneralRef1': 'General',
                     'GeneralRef2': 'General',
                     'GeneralRef3': 'General',
                     'IllustrationReference': 'Illustrations',
                     'AttributionEstimate': 'Folio count',
                     'AttributionOrigin': 'Origin',
                     'AttributionDate': 'Date',
                 }
                 gallery = GalleryView()
                 locationView = LocationView(self.request, self.model.location)
                 loc = { 'Country': '', 'country': '' }
                 if not quick:
                     if 'Colophon' in self.json  and self.json['Colophon'] is not None:
                         gallery.galleryData.append(GalleryView.entry(self._image_url(self.request, self.json, 'Colophon'), '#', 'Colophon', self.json['ColophonNumber'], '', ''))
                     if 'SamplePage' in self.json and self.json['SamplePage'] is not None:
                         gallery.galleryData.append(GalleryView.entry(self._image_url(self.request, self.json, 'SamplePage'), '#', 'Sample page from this manuscript', '', '', ''))
                     gallery.extend([ IllustrationView(self.request, model=x) for x in self.model.illustration_set.all()])
                     loc = locationView.summary(True)
                 extra = {
                     'gallery': gallery.emit(),
                     'size': self._size_expr(self.getSafeProperty('PageWidth'), self.getSafeProperty('PageLength'), self.getSafeProperty('TextWidth'), self.getSafeProperty('TextLength')),
                     'text': text_tmpl.apply(self.request, self.json),
                     'pages': pages_tmpl.apply(self.request, self.json),
                     'state': state_tmpl.apply(self.request, self.json),
                     'origin': origin_tmpl.apply(self.frequest, self.json),
                     'date': "%s (%s)" % (Hijri.date(self.getSafeProperty('HijriDate')), Gregorian.date(self.getSafeProperty('GregorianDate'))),
                     'references': ReferenceView.refs_tmpl(self.request, self.json, refmap),
                     'notes': wash_notes(self.getSafeProperty('NotesVisible')),
                     'status': JsonModel.safe_to_json(Authority.objects.get(name='record-status', id=self.getSafeProperty('CompletionStatus'))),
                     'up_date': format_date(self.getSafeProperty('DateUpdated')),
                     'canon-image': self._canon_image(self.request, self.json),
                     'location_text': locationView.text(),
                     'location_url': '%s/location/%s' % (SERVER_ROOT_URL, self.getSafeProperty('LocationSerial')),
                     'country': self.getSafeProperty('country', map=loc),
                     'country_url': '%s/country/%s' % (SERVER_ROOT_URL, self.getSafeProperty('country', map=loc)),
                     'prev-url': "%s/manuscript/%s" % (SERVER_ROOT_URL, self.json['chain-prev-date']) if 'chain-prev-date' in self.json else '',
                     'next-url': "%s/manuscript/%s" % (SERVER_ROOT_URL, self.json['chain-next-date']) if 'chain-next-date' in self.json else '',
                 }
                 self.summaryMap = dict(self.json.items() + extra.items())
             else:
                 self.summaryMap = {}
         except:
             self.summaryMap = {}
     return self.summaryMap
示例#3
0
文件: views.py 项目: ucamhal/Shahnama
 def summary(self, quick = False):
     self.loadJson()
     if self.summaryMap is None:
         self.loadJson()
         if self.json is not None:
             refmap = {
                 'GeneralReferences1': 'General',
                 'GeneralReferences2': 'General',
                 'GeneralReferences3': 'General',
                 'AttributionPainter': 'Painter',
                 'AttributionStyle': 'Style',
                 'AttributionDate': 'Date',
             }
             extra = {
                 'painting_url': self.painting(),
                 'url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.id),
                 'form': form_tmpl.apply(self.request,self.json),
                 'chapter' : {},
                 'work': AuthorityView(self.request, 'ms-title', self.getSafeProperty('TitleSerial')).asJson(),
                 'chapter-k': AuthorityView(self.request, 'chapter-k', self.getSafeProperty('ChapterSerialK')).asJson(),
                 'chapter-b': AuthorityView(self.request, 'chapter-b', self.getSafeProperty('ChapterSerialB')).asJson(),
                 'chapter-ds': AuthorityView(self.request, 'chapter-ds', self.getSafeProperty('ChapterSerialDS')).asJson(),
                 'date': "%s (%s)" % (Hijri.date(self.getSafeProperty('HijriDate')),Gregorian.date(self.getSafeProperty('GregorianDate'))),
                 'status': AuthorityView(self.request, 'record-status', self.getSafeProperty('CompletionStatus')).asJson(),
                 'up_date': recordutils.format_date(self.getSafeProperty('DateUpdated')),
                 'painter': painter_tmpl.apply(self.request,self.json),
                 'references': ReferenceView.refs_tmpl(self.request,self.json,refmap),
                 'notes': recordutils.wash_notes(self.getSafeProperty('NotesVisible')),
                 'folio': folio_tmpl.apply(self.request,self.json),
                 'format': AuthorityView(self.request, 'ill-format', self.getSafeProperty('FormatSerial')).asJson(),
                 'prev-url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.json['chain-prev-folios-in-ms']) if 'chain-prev-folios-in-ms' in self.json else '',
                 'next-url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.json['chain-next-folios-in-ms']) if 'chain-next-folios-in-ms' in self.json else '',
             }
             ''' 
             Illustration does not have a chapter serial,
             '''
             if self.model is not None and self.model.scene is not None and self.model.scene.chapter is not None:
                 chapterV = ChapterView(self.request, model=self.model.scene.chapter)
                 chapterV.loadJson()
                 extra.update({'chapter': chapterV.json})
             if not quick:
                 if self.model.manuscript is not None:
                     manuscript = ManuscriptView(self.request, model=self.model.manuscript)
                     location = LocationView(self.request, model=self.model.manuscript.location)
                     ms = manuscript.summary()
                     ls = location.summary()
                     extra['ms_name'] = self.getSafeProperty('AccessionNumber', map = ms)
                     extra['ms_url'] = "%s/manuscript/%s" % (SERVER_ROOT_URL,self.getSafeProperty('ManuscriptSerial', map = ms))
                     extra['loc_name'] = self.getSafeProperty('FullLocationName', map = ls)
                     extra['loc_url'] = "%s/location/%s" % (SERVER_ROOT_URL,self.getSafeProperty('LocationSerial', map = ls))
                     extra['loc_city'] = self.getSafeProperty('City', map = ls)
                     extra['cou_name'] = self.getSafeProperty('country', map = ls)
                     extra['cou_url'] = "%s/country/%s" % (SERVER_ROOT_URL,self.getSafeProperty('Country', map = ls))
                 if self.model.scene is not None:
                     scene = SceneView(self.request, model=self.model.scene)
                     ss = scene.summary()
                     extra['sc_name'] = self.getSafeProperty('EnglishTitle', map = ss)
                     extra['sc_url'] = "%s/scene/%s" % (SERVER_ROOT_URL,self.getSafeProperty('SceneSerial', map = ss))
                     extra['ch_name'] = self.getSafeProperty('chapter_name', map = ss)
                     extra['ch_url'] = self.getSafeProperty('chapter_url', map = ss)
             self.summaryMap = dict(self.json.items() + extra.items())
         else:
             self.summaryMap = {}
     return self.summaryMap
示例#4
0
 def summary(self, quick=False):
     if self.summaryMap is None:
         try:
             self.loadJson()
             if self.json is not None:
                 # references
                 refmap = {
                     'GeneralRef1': 'General',
                     'GeneralRef2': 'General',
                     'GeneralRef3': 'General',
                     'IllustrationReference': 'Illustrations',
                     'AttributionEstimate': 'Folio count',
                     'AttributionOrigin': 'Origin',
                     'AttributionDate': 'Date',
                 }
                 gallery = GalleryView()
                 locationView = LocationView(self.request, model=self.model.location)
                 loc = { 'Country': '', 'country': '' }
                 if not quick:
                     if 'Colophon' in self.json  and self.json['Colophon'] is not None:
                         gallery.galleryData.append(GalleryView.entry(self._image_url('Colophon'), '#', 'Colophon', self.json['ColophonNumber'], '', ''))
                     if 'SamplePage' in self.json and self.json['SamplePage'] is not None:
                         gallery.galleryData.append(GalleryView.entry(self._image_url('SamplePage'), '#', 'Sample page from this manuscript', '', '', ''))
                     gallery.galleryData.extend([ IllustrationView(self.request, model=x).gallery() for x in self.model.illustration_set.all()])
                     loc = locationView.summary(True)
                 extra = {
                     'gallery': gallery.emit(),
                     'size': self._size_expr(self.getSafeProperty('PageWidth'), self.getSafeProperty('PageLength'), self.getSafeProperty('TextWidth'), self.getSafeProperty('TextLength')),
                     'text': text_tmpl.apply(self.request, self.json),
                     'pages': pages_tmpl.apply(self.request, self.json),
                     'state': state_tmpl.apply(self.request, self.json),
                     'origin': origin_tmpl.apply(self.request, self.json),
                     'date': "%s (%s)" % (Hijri.date(self.getSafeProperty('HijriDate')), Gregorian.date(self.getSafeProperty('GregorianDate'))),
                     'references': ReferenceView.refs_tmpl(self.request, self.json, refmap),
                     'notes': wash_notes(self.getSafeProperty('NotesVisible')),
                     'status': AuthorityView(self.request, 'record-status', self.getSafeProperty('CompletionStatus')).getValue(),
                     'up_date': format_date(self.getSafeProperty('DateUpdated')),
                     'canon-image': self._canon_image(),
                     'location_text': locationView.text(),
                     'location_url': '%s/location/%s' % (SERVER_ROOT_URL, self.getSafeProperty('LocationSerial')),
                     'country': self.getSafeProperty('country', map = loc  ),
                     'country_url': '%s/country/%s' % (SERVER_ROOT_URL, locationView.getSafeProperty('Country')),
                     'prev_url': "%s/manuscript/%s" % (SERVER_ROOT_URL, self.json['chain-prev-date']) if 'chain-prev-date' in self.json else '',
                     'next_url': "%s/manuscript/%s" % (SERVER_ROOT_URL, self.json['chain-next-date']) if 'chain-next-date' in self.json else '',
                 }
                 self.summaryMap = dict(self.json.items() + extra.items())
             else:
                 self.summaryMap = {}
         except:
             logging.error("Failed to generate summary map %s " % traceback.format_exc())
             self.summaryMap = {}
     return self.summaryMap
示例#5
0
 def summary(self, quick = False):
     self.loadJson()
     if self.summaryMap is None:
         self.loadJson()
         if self.json is not None:
             refmap = {
                 'GeneralReferences1': 'General',
                 'GeneralReferences2': 'General',
                 'GeneralReferences3': 'General',
                 'AttributionPainter': 'Painter',
                 'AttributionStyle': 'Style',
                 'AttributionDate': 'Date',
             }
             extra = {
                 'painting_url': self.painting(),
                 'url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.id),
                 'form': form_tmpl.apply(self.request,self.json),
                 'chapter' : {},
                 'work': AuthorityView(self.request, 'ms-title', self.getSafeProperty('TitleSerial')).getValue(),
                 'chapter-k': AuthorityView(self.request, 'chapter-k', self.getSafeProperty('ChapterSerialK')).getValue(),
                 'chapter-b': AuthorityView(self.request, 'chapter-b', self.getSafeProperty('ChapterSerialB')).getValue(),
                 'chapter-ds': AuthorityView(self.request, 'chapter-ds', self.getSafeProperty('ChapterSerialDS')).getValue(),
                 'date': "%s (%s)" % (Hijri.date(self.getSafeProperty('HijriDate')),Gregorian.date(self.getSafeProperty('GregorianDate'))),
                 'status': AuthorityView(self.request, 'record-status', self.getSafeProperty('CompletionStatus')).getValue(),
                 'up_date': recordutils.format_date(self.getSafeProperty('DateUpdated')),
                 'painter': painter_tmpl.apply(self.request,self.json),
                 'references': ReferenceView.refs_tmpl(self.request,self.json,refmap),
                 'notes': recordutils.wash_notes(self.getSafeProperty('NotesVisible')),
                 'folio': folio_tmpl.apply(self.request,self.json),
                 'format': AuthorityView(self.request, 'ill-format', self.getSafeProperty('FormatSerial')).getValue(),
                 'prev_url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.json['chain-prev-folios-in-ms']) if 'chain-prev-folios-in-ms' in self.json else '',
                 'next_url': "%s/illustration/%s" % (SERVER_ROOT_URL,self.json['chain-next-folios-in-ms']) if 'chain-next-folios-in-ms' in self.json else '',
             }
             ''' 
             Illustration does not have a chapter serial,
             '''
             if self.model is not None and self.model.scene is not None and self.model.scene.chapter is not None:
                 chapterV = ChapterView(self.request, model=self.model.scene.chapter)
                 chapterV.loadJson()
                 extra.update({'chapter': chapterV.json})
             if not quick:
                 if self.model.manuscript is not None:
                     manuscript = ManuscriptView(self.request, model=self.model.manuscript)
                     location = LocationView(self.request, model=self.model.manuscript.location)
                     ls = location.summary()
                     extra['ms_name'] = manuscript.getSafeProperty('AccessionNumber')
                     extra['ms_url'] = "%s/manuscript/%s" % (SERVER_ROOT_URL,manuscript.getSafeProperty('ManuscriptSerial'))
                     extra['loc_name'] = location.getSafeProperty('FullLocationName')
                     extra['loc_url'] = "%s/location/%s" % (SERVER_ROOT_URL,location.getSafeProperty('LocationSerial'))
                     extra['loc_city'] = location.getSafeProperty('City')
                     extra['cou_name'] = self.getSafeProperty('country', map = ls)
                     extra['cou_url'] = "%s/country/%s" % (SERVER_ROOT_URL,location.getSafeProperty('Country'))
                 if self.model.scene is not None:
                     scene = SceneView(self.request, model=self.model.scene)
                     ss = scene.summary()
                     extra['sc_name'] = scene.getSafeProperty('EnglishTitle')
                     extra['sc_url'] = "%s/scene/%s" % (SERVER_ROOT_URL,scene.getSafeProperty('SceneSerial'))
                     extra['ch_name'] = self.getSafeProperty('chapter_name', map = ss)
                     extra['ch_url'] = self.getSafeProperty('chapter_url', map = ss)
             self.summaryMap = dict(self.json.items() + extra.items())
         else:
             self.summaryMap = {}
     return self.summaryMap
示例#6
0
文件: models.py 项目: ieb/Shahnama
 def _gregorian_date_order(self, d):
     if d is None:
         return None
     return Gregorian.from_string(d).orderint()