本文整理汇总了Python中pyflag.FlagFramework.joinpath方法的典型用法代码示例。如果您正苦于以下问题:Python FlagFramework.joinpath方法的具体用法?Python FlagFramework.joinpath怎么用?Python FlagFramework.joinpath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyflag.FlagFramework
的用法示例。
在下文中一共展示了FlagFramework.joinpath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: tree
# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import joinpath [as 别名]
def tree(self,tree_cb = None, pane_cb=None, branch = ('/'), layout="horizontal"):
""" A Text tree implementation """
query = self.defaults
try:
## Get the right part:
branch=FlagFramework.splitpath(query['open_tree'])
except KeyError:
branch=['']
#Start building the tree using the branch.
def draw_branch(depth,tree_array):
#We search through all the items until we find the one
#that matches the branch for this depth, then recurse into
#it.
branch_array=branch[:depth]
path = FlagFramework.joinpath(branch[:depth])
for k,v,t in tree_cb(path):
if not k: continue
if not t: continue
tree_array.append((depth,k,v,t))
try:
if k == branch[depth]:
#Recurse into the next level in the tree
draw_branch(depth+1,tree_array)
except IndexError:
pass
tree_array = []
#The first item in the tree is the first one provided in branch
if not branch[0]:
tree_array.append((0,'/','/','branch'))
else:
tree_array.append((0,branch[0],branch[0],'branch'))
#Build the tree_array
draw_branch(1,tree_array)
left = self.__class__(self)
for depth,k,v,t in tree_array:
icon = '-'
if t=="branch":
icon = '+'
left.text(" "*depth + icon + v.__str__() + "\r\n")
right = self.__class__(self)
path = FlagFramework.joinpath(branch)
pane_cb(path, right)
self.row(left, right)
示例2: draw_branch
# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import joinpath [as 别名]
def draw_branch(depth,tree_array):
#We search through all the items until we find the one
#that matches the branch for this depth, then recurse into
#it.
branch_array=branch[:depth]
path = FlagFramework.joinpath(branch[:depth])
for k,v,t in tree_cb(path):
if not k: continue
if not t: continue
tree_array.append((depth,k,v,t))
try:
if k == branch[depth]:
#Recurse into the next level in the tree
draw_branch(depth+1,tree_array)
except IndexError:
pass
示例3: external_process
# 需要导入模块: from pyflag import FlagFramework [as 别名]
# 或者: from pyflag.FlagFramework import joinpath [as 别名]
def external_process(self,fd):
dbh=DB.DBO(self.case)
dbh._warnings = False
dbh.mass_insert_start('ie_history')
inode_id = self.fd.lookup_id()
## Find our path
dbh.execute("select path from file where inode_id = %r", inode_id)
row = dbh.fetch()
path = row['path']
history = IECache.IEHistoryFile(fd)
for event in history:
if event:
url = event['url'].get_value()
url.inclusive = False
url = url.get_value()
## How big is the entry
size = event['size'].get_value() * IECache.blocksize
args = dict(inode_id = inode_id,
type = event['type'],
offset = event['offset'],
length = size,
url = url,
filename = event['filename'],
headers = event['data'].get_value(),)
modified = event['modified_time'].get_value()
if modified>1000:
args['_modified'] = 'from_unixtime(%d)' % modified
else: modified = None
accessed = event['accessed_time'].get_value()
if accessed>1000:
args['_accessed'] = 'from_unixtime(%d)' % accessed
else: accessed = None
dbh.mass_insert(**args)
## Try to locate the actual inode
try:
index = event['directory_index'].get_value()
tmp_path = FlagFramework.normpath((FlagFramework.joinpath([
path, history.directories[index]])))
except:
continue
dbh.execute("select inode, inode_id from file where path='%s/' and name=%r",
tmp_path,
args['filename'])
row = dbh.fetch()
if row:
inode_id = row['inode_id']
headers = args['headers']
## We always create a new inode for cache
## entries to guarantee they get scanned by
## other scanners _after_ http info is
## populated. This essentially means we get
## duplicated inodes for the same actual files
## which is a bit of extra overhead (cache
## files are processed twice).
encoding_driver = "|o0"
m = content_encoding_re.search(headers)
if m:
## Is it gzip encoding?
if m.group(1) == 'gzip':
encoding_driver = "|G1"
elif m.group(1) == 'deflate':
encoding_driver = '|d1'
else:
print "I have no idea what %s encoding is" % m.group(1)
inode_id = self.ddfs.VFSCreate(None,
"%s%s" % (row['inode'],
encoding_driver),
"%s/%s" % (tmp_path,
args['filename']),
size = size,
_mtime = modified,
_atime = accessed
)
http_args = dict(
inode_id = inode_id,
url = url_unquote(url),
)
## Put in a dodgy pcap entry for the timestamp:
if '_accessed' in args:
dbh.insert('pcap', _fast=True,
_ts_sec = args['_accessed'],
ts_usec = 0,
offset=0, length=0)
packet_id = dbh.autoincrement()
http_args['response_packet'] = packet_id
http_args['request_packet'] = packet_id
#.........这里部分代码省略.........