Пример #1
0
 def fetch_metadata(self, *args):
     d = FullFetch(self.cover.pixmap(), self)
     ret = d.start(title=self.title.current_val, authors=self.authors.current_val,
             identifiers=self.identifiers.current_val)
     if ret == d.Accepted:
         self.metadata_before_fetch = {f:getattr(self, f).current_val for f in fetched_fields}
         from calibre.ebooks.metadata.sources.prefs import msprefs
         mi = d.book
         dummy = Metadata(_('Unknown'))
         for f in msprefs['ignore_fields']:
             if ':' not in f:
                 setattr(mi, f, getattr(dummy, f))
         if mi is not None:
             pd = mi.pubdate
             if pd is not None:
                 # Put the downloaded published date into the local timezone
                 # as we discard time info and the date is timezone
                 # invariant. This prevents the as_local_timezone() call in
                 # update_from_mi from changing the pubdate
                 mi.pubdate = datetime(pd.year, pd.month, pd.day,
                         tzinfo=local_tz)
             self.update_from_mi(mi, merge_comments=msprefs['append_comments'])
         if d.cover_pixmap is not None:
             self.metadata_before_fetch['cover'] = self.cover.current_val
             self.cover.current_val = pixmap_to_data(d.cover_pixmap)
Пример #2
0
 def fetch_metadata(self, *args):
     d = FullFetch(self.cover.pixmap(), self)
     ret = d.start(title=self.title.current_val,
                   authors=self.authors.current_val,
                   identifiers=self.identifiers.current_val)
     if ret == d.Accepted:
         self.metadata_before_fetch = {
             f: getattr(self, f).current_val
             for f in fetched_fields
         }
         from calibre.ebooks.metadata.sources.prefs import msprefs
         mi = d.book
         dummy = Metadata(_('Unknown'))
         for f in msprefs['ignore_fields']:
             if ':' not in f:
                 setattr(mi, f, getattr(dummy, f))
         if mi is not None:
             pd = mi.pubdate
             if pd is not None:
                 # Put the downloaded published date into the local timezone
                 # as we discard time info and the date is timezone
                 # invariant. This prevents the as_local_timezone() call in
                 # update_from_mi from changing the pubdate
                 mi.pubdate = datetime(pd.year,
                                       pd.month,
                                       pd.day,
                                       tzinfo=local_tz)
             self.update_from_mi(mi,
                                 merge_comments=msprefs['append_comments'])
         if d.cover_pixmap is not None:
             self.metadata_before_fetch['cover'] = self.cover.current_val
             self.cover.current_val = pixmap_to_data(d.cover_pixmap)