コード例 #1
0
ファイル: client.py プロジェクト: reuf/ifcb-analysis
 def resolve(self, pid):
     oid = parse_id(pid)
     if oid.isbin:
         return Bin(pid)
     elif oid.istarget:
         return Target(pid)
     # FIXME add day dir
     raise KeyError('unrecognized pid ' + pid)
コード例 #2
0
ファイル: client.py プロジェクト: hsosik/ifcb-analysis
 def resolve(self, pid):
     oid = parse_id(pid)
     if oid.isbin:
         return Bin(pid)
     elif oid.istarget:
         return Target(pid)
     # FIXME add day dir
     raise KeyError("unrecognized pid " + pid)
コード例 #3
0
 def __init__(self, dir='.'):
     self.dir = dir
     if not no_day_dirs():
         oid = parse_id(self.pid)
         self.time_format = oid.date_format
         self.time_string = oid.yearday
     else:
         self.time_string = '2000_001'
コード例 #4
0
ファイル: dir.py プロジェクト: hsosik/ifcb-analysis
	def __init__(self, dir='.'):
		self.dir = dir
		if not no_day_dirs():
			oid = parse_id(self.pid)
			self.time_format = oid.date_format
			self.time_string = oid.yearday
		else:
			self.time_string = '2000_001'
コード例 #5
0
ファイル: path.py プロジェクト: hsosik/ifcb-analysis
 def bin_path(self, pid):
     oid = parse_id(pid)
     tried = []
     for path in oid.paths([yd.dir for yd in self.years_dirs]):
         bin_path = path + "." + ADC_EXT
         tried += [bin_path]
         if os.path.exists(bin_path):
             return bin_path
     raise KeyError("no path to bin " + pid + (" ".join(tried)))
コード例 #6
0
ファイル: path.py プロジェクト: reuf/ifcb-analysis
 def bin_path(self, pid):
     oid = parse_id(pid)
     tried = []
     for path in oid.paths([yd.dir for yd in self.years_dirs]):
         bin_path = path + '.' + ADC_EXT
         tried += [bin_path]
         if os.path.exists(bin_path):
             return bin_path
     raise KeyError('no path to bin ' + pid + (' '.join(tried)))
コード例 #7
0
ファイル: file.py プロジェクト: hsosik/ifcb-analysis
 def __init__(self, path):
     self.dir = os.path.dirname(os.path.abspath(path))
     file = os.path.basename(path)
     (self.id, ext) = os.path.splitext(file)
     # the timestamp is the approximate time the syringe was sampled and flow began
     self.pid = ifcb.pid(self.id)
     self.oid = parse_id(self.id)
     self.time_string = self.oid.datetime
     self.instrument = self.oid.instrument_number
     self.time_format = self.oid.datetime_format
コード例 #8
0
ファイル: file.py プロジェクト: reuf/ifcb-analysis
 def __init__(self, path):
     self.dir = os.path.dirname(os.path.abspath(path))
     file = os.path.basename(path)
     (self.id, ext) = os.path.splitext(file)
     # the timestamp is the approximate time the syringe was sampled and flow began
     self.pid = ifcb.pid(self.id)
     self.oid = parse_id(self.id)
     self.time_string = self.oid.datetime
     self.instrument = self.oid.instrument_number
     self.time_format = self.oid.datetime_format
コード例 #9
0
ファイル: path.py プロジェクト: reuf/ifcb-analysis
 def resolve(self, pid):
     """Resolve a pid in this filesystem"""
     oid = parse_id(pid)
     if oid.isday:
         return self.day(pid)
     elif oid.isbin:
         return self.bin(pid)
     elif oid.istarget:
         return self.target(pid)
     raise KeyError('unrecognized pid ' + pid)
コード例 #10
0
ファイル: path.py プロジェクト: hsosik/ifcb-analysis
 def resolve(self, pid):
     """Resolve a pid in this filesystem"""
     oid = parse_id(pid)
     if oid.isday:
         return self.day(pid)
     elif oid.isbin:
         return self.bin(pid)
     elif oid.istarget:
         return self.target(pid)
     raise KeyError("unrecognized pid " + pid)
コード例 #11
0
ファイル: blob_unzip.py プロジェクト: hsosik/ifcb-analysis
def zip_path(pid):
    oid = parse_id(pid)
    bin = oid.bin_lid
    day = oid.yearday
    year = oid.year
    tried = []
    for blob_root in BLOB_ROOTS:
        blobzip = path.join(blob_root, year, day, bin + "_blobs_v2.zip")
        if path.exists(blobzip):
            return blobzip
        tried += [blobzip]
    raise KeyError(pid + " blob not found")
コード例 #12
0
ファイル: blob_unzip.py プロジェクト: reuf/ifcb-analysis
def zip_path(pid):
    oid = parse_id(pid)
    bin = oid.bin_lid
    day = oid.yearday
    year = oid.year
    tried = []
    for blob_root in BLOB_ROOTS:
        blobzip = path.join(blob_root, year, day, bin + '_blobs_v2.zip')
        if path.exists(blobzip):
            return blobzip
        tried += [blobzip]
    raise KeyError(pid + ' blob not found')
コード例 #13
0
 def __iter__(self):
     if 'NO_DAY_DIRS' in dir(config) and config.NO_DAY_DIRS:
         yield DayDir(os.path.abspath(self.dir))
         return
     try:
         for item in sorted(os.listdir(self.dir)):
             f = os.path.join(self.dir, item)
             try:
                 if parse_id(item).isday:
                     yield DayDir(os.path.abspath(f))
                 else:
                     raise KeyError
             except KeyError:
                 print '%s is not a day' % item  # FIXME debug
     except OSError:
         noop = None  # FIXME log
コード例 #14
0
ファイル: dir.py プロジェクト: hsosik/ifcb-analysis
	def __iter__(self):
		if 'NO_DAY_DIRS' in dir(config) and config.NO_DAY_DIRS:
			yield DayDir(os.path.abspath(self.dir))
			return
		try:
			for item in sorted(os.listdir(self.dir)):
				f = os.path.join(self.dir, item)
				try:
					if parse_id(item).isday:
						yield DayDir(os.path.abspath(f))
					else:
						raise KeyError
				except KeyError:
					print '%s is not a day' % item # FIXME debug
		except OSError:
			noop = None # FIXME log
コード例 #15
0
ファイル: path.py プロジェクト: hsosik/ifcb-analysis
 def __target(self, pid):
     oid = parse_id(pid)
     bin = self.bin(ifcb.pid(oid.bin_lid))
     return bin.target(int(oid.target))  # bin.target is 0-based
コード例 #16
0
ファイル: path.py プロジェクト: reuf/ifcb-analysis
 def __target(self, pid):
     oid = parse_id(pid)
     bin = self.bin(ifcb.pid(oid.bin_lid))
     return bin.target(int(oid.target))  # bin.target is 0-based
コード例 #17
0
 def year(self, pid):
     """Year part of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).year
コード例 #18
0
 def year_day(self, pid):
     """Year/day dir path of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).yearday
コード例 #19
0
 def lid(self, pid):
     """Local ID part of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).as_lid
コード例 #20
0
ファイル: blob_storage.py プロジェクト: hsosik/ifcb-analysis
 def lid(self, pid):
     """Local ID part of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).as_lid
コード例 #21
0
ファイル: blob_storage.py プロジェクト: hsosik/ifcb-analysis
 def year_day(self, pid):
     """Year/day dir path of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).yearday
コード例 #22
0
ファイル: blob_storage.py プロジェクト: hsosik/ifcb-analysis
 def year(self, pid):
     """Year part of pathname based on configured namespace"""
     return parse_id(pid, self.config.namespace).year