コード例 #1
0
def extract_mime_attachements \
        ( msg, directory
        , def_ext      = None
        , ignore       = _is_false
        , main_type    = _is_false
        , name_pat     = _is_false
        , part_indices = None
        , sub_type     = _is_false
        ) :
    if def_ext and not def_ext.startswith (".") :
        def_ext    = "." + def_ext
    pis = part_indices if part_indices else range (len (msg.parts))
    for i in pis :
        p          = msg.parts [i]
        specified  = (not ignore (p.content_type)) and \
            (  main_type (p.main_type)
            or name_pat  (p.filename)
            or sub_type  (p.sub_type)
            )
        if specified :
            name   = p.filename or ("%s_%s" % (msg.name, i))
            fn     = Filename (directory, name)
            if def_ext :
                fn = Filename (def_ext, fn)
            print ("    Saving", name)
            PMA.save (fn, p.body)
        elif p.main_type in ("multipart", "message") :
            extract_mime_attachements \
                ( p, directory
                , def_ext, ignore, main_type, name_pat, part_indices, sub_type
                )
コード例 #2
0
ファイル: make_photo_gallery.py プロジェクト: JPilarr/tapyr
def fix_rotation (src, temp_dir) :
    result = src
    if plumbum is not None :
        pbl     = plumbum.local
        rot_pat = _rotate_pat
        jt_rot  = pbl ["jpegtran"] \
            ["-copy", "all", "-perfect", "-optimize", "-rotate"]
        xt      = pbl ["exiftool"] ["-Orientation"]
        orient  = xt (src)
        if rot_pat.search (orient) :
            angle  = rot_pat.angle
            result = Filename (Filename (src).base_ext, default_dir = temp_dir).name
            cmd    = jt_rot [str (angle), src] > result
            cmd ()
    return result
コード例 #3
0
def _main(cmd):
    year = cmd.year
    head = cmd.head
    tail = cmd.tail
    path = sos.path.join(sos.expanded_path(cmd.diary), "%4.4d" % year)
    Y = CAL.Year(year)
    file_name = sos.path.join(path, cmd.filename)
    pdf_name = Filename(cmd.pdf or ("plan_%s.pdf" % year), ".pdf").name
    head = cmd.head or 1
    tail = cmd.tail or 12
    if cmd.monthly:
        Plan = [PDF_Plan_Month, PDF_Plan_Month_L][bool(cmd.landscape)]
    elif cmd.Yearly:
        Plan = [PDF_Plan_Year, PDF_Plan_Year_L][bool(cmd.landscape)]
    else:
        Plan = [PDF_Plan_Week, PDF_Plan_Week_L][bool(cmd.landscape)]
        head = cmd.head or 0
        tail = cmd.tail or -1
        wd = Y.weeks[0].number
        if tail < 0:
            tail += len(Y.weeks)
        head -= wd
        tail += 1 - wd
    CAL.read_plan(Y, file_name)
    Plan \
        ( Y, pdf_name, head, tail
        , xl  = cmd.XL
        , yl  = cmd.YL
        , xo  = cmd.XO
        , yo  = cmd.YO
        )
コード例 #4
0
ファイル: Gallery.py プロジェクト: JPilarr/tapyr
 def __init__(self, pic_dir, **kw):
     base = Filename(pic_dir).base
     name = pjoin(base, u"")
     pic_dir_abs = sos.path.abspath(pic_dir)
     self.im_dir = pjoin(pic_dir_abs, "im")
     self.th_dir = pjoin(pic_dir_abs, "th")
     self._entries = []
     self.__super.__init__(name=name, pic_dir=pic_dir, **kw)
コード例 #5
0
ファイル: make_photo_gallery.py プロジェクト: JPilarr/tapyr
def _main (cmd) :
    font   = ImageFont.load_default ()
    color  = cmd.color
    fmt    = cmd.format
    ext    = fmt.lower ()
    if ext == "jpeg" :
        ext = "jpg"
    holder = cmd.photographer
    x_off  = cmd.x_off
    y_off  = cmd.y_off
    year   = cmd.year
    i_size = cmd.i_size, cmd.i_size
    t_size = cmd.t_size, cmd.t_size
    td     = sos.expanded_path (cmd.target_dir)
    with TFL.temp_dir () as temp_dir :
        if cmd.add_to_dir :
            if not sos.path.isdir (td) :
                print ("Making directory %s" % (td, ))
                sos.mkdir_p (td)
            for src in cmd.argv [1:] :
                src, name = src.split ("=")
                if not name :
                    name = src
                name = Filename (name).base
                imp  = sos.path.join (td, "%s_im.%s" % (name, ext))
                thp  = sos.path.join (td, "%s_th.%s" % (name, ext))
                convert_one \
                    ( src, name, i_size, t_size, holder, year, font, imp, thp
                    , fmt, color, x_off, y_off
                    , temp_dir
                    )
        else :
            td_im = sos.path.join (td, "im")
            td_th = sos.path.join (td, "th")
            for x in td_im, td_th :
                if not sos.path.isdir (x) :
                    print ("Making directory %s" % (x, ))
                    sos.mkdir_p (x)
            pid  = cmd.start_pid
            for src in sorted (sos.expanded_globs (* cmd.argv [1:])) :
                pid  += 1
                name  = "%04d.%s" % (pid, ext)
                imp   = sos.path.join (td_im, name)
                thp   = sos.path.join (td_th, name)
                convert_one \
                    ( src, name, i_size, t_size, holder, year, font, imp, thp
                    , fmt, color, x_off, y_off
                    , temp_dir
                    )
コード例 #6
0
 def __init__(self, path, glob_dict={}, local_dict={}, name=None, doc=""):
     fn = Filename(path, absolute=1)
     self.path = fn.name
     self.name = name or fn.base
     self.dir = fn.directory
     self.gd = glob_dict
     self.ld = local_dict
     self.gauge = local_dict.get("gauge")
     if not self.gauge:
         self.gauge = Gauge_Logger()
     self.old_path = []
     self._sys_pth = sys.path[:]
     self.__doc__   = \
         (  doc.replace ("script-name", self.name)
         or ("Run script `%s'" % self.name)
         )
     self.error = None
コード例 #7
0
ファイル: Gallery.py プロジェクト: JPilarr/tapyr
 def _read_entries(self):
     result = []
     images = sorted(sos.expanded_globs(pjoin(self.im_dir, "*.jpg")))
     i = 0
     for im in images:
         name = Filename(im).base
         th = pjoin(self.th_dir, "%s.jpg" % name)
         if sos.path.exists(th):
             i += 1
             photo = Photo     \
                 ( name         = name
                 , number       = i
                 , parent       = self
                 , src          = im
                 )
             thumb = photo.thumb = Thumbnail \
                 ( name         = name
                 , number       = i
                 , parent       = self
                 , photo        = photo
                 , src          = th
                 )
             result.append(photo)
     self.add_entries(*result)