File: File.py

package info (click to toggle)
rsem 1.3.3%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 37,700 kB
  • sloc: cpp: 19,230; perl: 1,326; python: 1,245; ansic: 547; makefile: 186; sh: 154
file content (47 lines) | stat: -rw-r--r-- 1,256 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
__doc__="""

  pliu 20150511

  modele for file-related definition and functions
"""

class File:
  def __init__(self):
    self.fullname = None  ## file's full name, include dir, base, and all ext
    self.is_gz    = None  ## if file is gzipped
    self.dirname  = None  ## directory name
    self.basename = None  ## base name sans all extension separated by dot
    self.filename_sans_ext = None ## no path, no last extension sep by dot


  def __str__(self):
    ss = [ "fullname:          %s\n" % self.fullname ] + \
         [ "dirname:           %s\n" % self.dirname  ] + \
         [ "basename:          %s\n" % self.basename ] + \
         [ "filename_sans_ext: %s\n" % self.filename_sans_ext ]

    if self.is_gz:
      ss += [ "is gzipped" ]
    else:
      ss += [ "not gzipped" ]
    return ''.join(ss)


  @classmethod
  def initFromFullFileName(cls, filename):
    import os
    f = cls()
    f.fullname = filename
    (f.dirname, fname) = os.path.split(filename)
    words = fname.split('.')
    f.basename = words[0]
    f.filename_sans_ext = '.'.join(words[:-1])
    if words[-1] in ['gz', 'gzip']:
      f.is_gz = True
    else:
      f.is_gz = False
    return f


def initFromFullFileName(ffq):
  return File.initFromFullFileName(ffq)