本文整理汇总了Python中pyload.utils.fs.join函数的典型用法代码示例。如果您正苦于以下问题:Python join函数的具体用法?Python join怎么用?Python join使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了join函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: load
def load(self, url, get={}, post={}, ref=True, cookies=True, just_header=False, decode=False):
"""Load content at url and returns it
:param url: url as string
:param get: GET as dict
:param post: POST as dict, list or string
:param ref: Set HTTP_REFERER header
:param cookies: use saved cookies
:param just_header: if True only the header will be retrieved and returned as dict
:param decode: Whether to decode the output according to http header, should be True in most cases
:return: Loaded content
"""
if not hasattr(self, "req"): raise Exception("Plugin type does not have Request attribute.")
self.checkAbort()
res = self.req.load(url, get, post, ref, cookies, just_header, decode=decode)
if self.core.debug:
from inspect import currentframe
frame = currentframe()
if not exists(join("tmp", self.__name__)):
makedirs(join("tmp", self.__name__))
f = open(
join("tmp", self.__name__, "%s_line%s.dump.html" % (frame.f_back.f_code.co_name, frame.f_back.f_lineno))
, "wb")
del frame # delete the frame or it wont be cleaned
try:
tmp = res.encode("utf8")
except:
tmp = res
f.write(tmp)
f.close()
if just_header:
#parse header
header = {"code": self.req.code}
for line in res.splitlines():
line = line.strip()
if not line or ":" not in line: continue
key, none, value = line.partition(":")
key = key.lower().strip()
value = value.strip()
if key in header:
if type(header[key]) == list:
header[key].append(value)
else:
header[key] = [header[key], value]
else:
header[key] = value
res = header
return res
开发者ID:BlackSmith,项目名称:pyload,代码行数:58,代码来源:Base.py
示例2: setUp
def setUp(self):
PluginTester.setUp(self)
for f in self.files:
if exists(save_join(DL_DIR, f)): remove(save_join(DL_DIR, f))
# folder for reports
report = join("tmp", self.__class__.__name__)
if exists(report):
for f in listdir(report):
remove(join(report, f))
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:10,代码来源:HosterPluginTester.py
示例3: ask_lang
def ask_lang(self):
langs = self.config.getMetaData("general", "language").type.split(";")
self.lang = self.ask(u"Choose your Language / Wähle deine Sprache", "en", langs)
gettext.setpaths([join(os.sep, "usr", "share", "pyload", "locale"), None])
translation = gettext.translation("setup", join(self.path, "locale"), languages=[self.lang, "en"], fallback=True)
translation.install(True)
#l10n Input shorthand for yes
self.yes = _("y")
#l10n Input shorthand for no
self.no = _("n")
开发者ID:Dmanugm,项目名称:pyload,代码行数:11,代码来源:Setup.py
示例4: set_user
def set_user(self):
gettext.setpaths([join(os.sep, "usr", "share", "pyload", "locale"), None])
translation = gettext.translation("setup", join(self.path, "locale"),
languages=[self.config["general"]["language"], "en"], fallback=True)
translation.install(True)
from pyload.database import DatabaseBackend
db = DatabaseBackend(None)
db.setup()
noaction = True
try:
while True:
print _("Select action")
print _("1 - Create/Edit user")
print _("2 - List users")
print _("3 - Remove user")
print _("4 - Quit")
action = raw_input("[1]/2/3/4: ")
if not action in ("1", "2", "3", "4"):
continue
elif action == "1":
print ""
username = self.ask(_("Username"), "User")
password = self.ask("", "", password=True)
db.addUser(username, password)
noaction = False
elif action == "2":
print ""
print _("Users")
print "-----"
users = db.getAllUserData()
noaction = False
for user in users.itervalues():
print user.name
print "-----"
print ""
elif action == "3":
print ""
username = self.ask(_("Username"), "")
if username:
db.removeUserByName(username)
noaction = False
elif action == "4":
db.syncSave()
break
finally:
if not noaction:
db.shutdown()
开发者ID:chkorn,项目名称:pyload,代码行数:50,代码来源:Setup.py
示例5: writeDebugReport
def writeDebugReport(self, name, pyfile=None, plugin=None):
""" writes a debug report to disk """
dump_name = "debug_%s_%s.zip" % (name, strftime("%d-%m-%Y_%H-%M-%S"))
if pyfile:
dump = self.getPluginDump(pyfile.plugin) + "\n"
dump += self.getFileDump(pyfile)
else:
dump = self.getPluginDump(plugin)
try:
import zipfile
zip = zipfile.ZipFile(dump_name, "w")
if exists(join("tmp", name)):
for f in listdir(join("tmp", name)):
try:
# avoid encoding errors
zip.write(join("tmp", name, f), save_join(name, f))
except:
pass
info = zipfile.ZipInfo(save_join(name, "debug_Report.txt"), gmtime())
info.external_attr = 0644 << 16L # change permissions
zip.writestr(info, dump)
info = zipfile.ZipInfo(save_join(name, "system_Report.txt"), gmtime())
info.external_attr = 0644 << 16L
zip.writestr(info, self.getSystemDump())
zip.close()
if not stat(dump_name).st_size:
raise Exception("Empty Zipfile")
except Exception, e:
self.log.debug("Error creating zip file: %s" % e)
dump_name = dump_name.replace(".zip", ".txt")
f = open(dump_name, "wb")
f.write(dump)
f.close()
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:42,代码来源:BaseThread.py
示例6: checkContainer
def checkContainer(self, filename, data):
""" checks online status of urls and a submitted container file
:param filename: name of the file
:param data: file content
:return: :class:`OnlineCheck`
"""
th = open(join(self.core.config["general"]["download_folder"], "tmp_" + filename), "wb")
th.write(str(data))
th.close()
return self.checkLinks([th.name])
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:11,代码来源:DownloadPreparingApi.py
示例7: uploadContainer
def uploadContainer(self, filename, data):
"""Uploads and adds a container file to pyLoad.
:param filename: filename, extension is important so it can correctly decrypted
:param data: file content
"""
th = open(join(self.core.config["general"]["download_folder"], "tmp_" + filename), "wb")
th.write(str(data))
th.close()
return self.addPackage(th.name, [th.name])
开发者ID:BlackSmith,项目名称:pyload,代码行数:11,代码来源:DownloadApi.py
示例8: conf_path
def conf_path(self, trans=False):
if trans:
translation = gettext.translation("setup", join(self.path, "locale"),
languages=[self.config["general"]["language"], "en"], fallback=True)
translation.install(True)
print _("Setting new configpath, current configuration will not be transferred!")
path = self.ask(_("Config path"), abspath(""))
try:
path = join(pypath, path)
if not exists(path):
makedirs(path)
f = open(join(pypath, "pyload", "config", "configdir"), "wb")
f.write(path)
f.close()
print _("Config path changed, setup will now close, please restart to go on.")
print _("Press Enter to exit.")
raw_input()
exit()
except Exception, e:
print _("Setting config path failed: %s") % str(e)
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:21,代码来源:Setup.py
示例9: checkOnlineStatusContainer
def checkOnlineStatusContainer(self, urls, container, data):
""" checks online status of urls and a submitted container file
:param urls: list of urls
:param container: container file name
:param data: file content
:return: :class:`OnlineCheck`
"""
th = open(join(self.core.config["general"]["download_folder"], "tmp_" + container), "wb")
th.write(str(data))
th.close()
urls.append(th.name)
return self.checkOnlineStatus(urls)
开发者ID:DasLampe,项目名称:pyload,代码行数:13,代码来源:DownloadPreparingApi.py
示例10: getLog
def getLog(self, offset=0):
"""Returns most recent log entries.
:param offset: line offset
:return: List of log entries
"""
filename = join(self.core.config['log']['log_folder'], 'log.txt')
try:
fh = open(filename, "r")
lines = fh.readlines()
fh.close()
if offset >= len(lines):
return []
return lines[offset:]
except:
return ['No log available']
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:16,代码来源:CoreApi.py
示例11: set_user
def set_user(self):
translation = gettext.translation("setup", join(self.path, "locale"),
languages=[self.config["general"]["language"], "en"], fallback=True)
translation.install(True)
self.openDB()
try:
while True:
print _("Select action")
print _("1 - Create/Edit user")
print _("2 - List users")
print _("3 - Remove user")
print _("4 - Quit")
action = raw_input("[1]/2/3/4: ")
if not action in ("1", "2", "3", "4"):
continue
elif action == "1":
print ""
username = self.ask(_("Username"), "User")
password = self.ask("", "", password=True)
admin = self.ask("Admin?", self.yes, bool=True)
self.db.addUser(username, password, Role.Admin if admin else Role.User, int('1111111', 2))
elif action == "2":
print ""
print _("Users")
print "-----"
users = self.db.getAllUserData()
for user in users.itervalues():
print user.name
print "-----"
print ""
elif action == "3":
print ""
username = self.ask(_("Username"), "")
if username:
self.db.removeUserByName(username)
elif action == "4":
self.db.syncSave()
break
finally:
self.closeDB()
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:43,代码来源:Setup.py
示例12: raw_input
input = raw_input(qst + " %s: " % info)
input = input.decode(self.stdin_encoding)
if input.strip() == "":
input = default
if bool:
#l10n yes, true,t are inputs for booleans with value true
if input.lower().strip() in [self.yes, _("yes"), _("true"), _("t"), "yes"]:
return True
#l10n no, false,f are inputs for booleans with value false
elif input.lower().strip() in [self.no, _("no"), _("false"), _("f"), "no"]:
return False
else:
print _("Invalid Input")
continue
if not answers:
return input
else:
if input in answers:
return input
else:
print _("Invalid Input")
if __name__ == "__main__":
test = Setup(join(abspath(dirname(__file__)), ".."), None)
test.start()
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:30,代码来源:Setup.py
示例13: getPath
def getPath(self, name=""):
self.timestamp = time()
return join(self.m.getPackage(self.root).getPath(), self.folder, name)
开发者ID:Dmanugm,项目名称:pyload,代码行数:3,代码来源:PyPackage.py
示例14: join
from hashlib import md5
from time import time
from shutil import move
from nose.tools import nottest
from helper.Stubs import Core
from helper.parser import parse_config
from helper.PluginTester import PluginTester
from pyload.datatypes.PyFile import PyFile, statusMap
from pyload.plugins.Base import Fail
from pyload.utils import accumulate
from pyload.utils.fs import save_join, join, exists, listdir, remove, stat
DL_DIR = join("Downloads", "tmp")
class HosterPluginTester(PluginTester):
files = {}
def setUp(self):
PluginTester.setUp(self)
for f in self.files:
if exists(save_join(DL_DIR, f)): remove(save_join(DL_DIR, f))
# folder for reports
report = join("tmp", self.__class__.__name__)
if exists(report):
for f in listdir(report):
remove(join(report, f))
开发者ID:ASCIIteapot,项目名称:pyload,代码行数:31,代码来源:HosterPluginTester.py
示例15: decryptCaptcha
def decryptCaptcha(
self, url, get={}, post={}, cookies=False, forceUser=False, imgtype="jpg", result_type="textual"
):
""" Loads a captcha and decrypts it with ocr, plugin, user input
:param url: url of captcha image
:param get: get part for request
:param post: post part for request
:param cookies: True if cookies should be enabled
:param forceUser: if True, ocr is not used
:param imgtype: Type of the Image
:param result_type: 'textual' if text is written on the captcha\
or 'positional' for captcha where the user have to click\
on a specific region on the captcha
:return: result of decrypting
"""
img = self.load(url, get=get, post=post, cookies=cookies)
id = ("%.2f" % time())[-6:].replace(".", "")
temp_file = open(join("tmp", "tmpCaptcha_%s_%s.%s" % (self.__name__, id, imgtype)), "wb")
temp_file.write(img)
temp_file.close()
name = "%sOCR" % self.__name__
has_plugin = name in self.core.pluginManager.getPlugins("internal")
if self.core.captcha:
OCR = self.core.pluginManager.loadClass("internal", name)
else:
OCR = None
if OCR and not forceUser:
sleep(randint(3000, 5000) / 1000.0)
self.checkAbort()
ocr = OCR()
result = ocr.get_captcha(temp_file.name)
else:
task = self.im.createCaptchaTask(img, imgtype, temp_file.name, self.__name__, result_type)
self.task = task
while task.isWaiting():
if self.abort():
self.im.removeTask(task)
raise Abort()
sleep(1)
# TODO task handling
self.im.removeTask(task)
if task.error and has_plugin: # ignore default error message since the user could use OCR
self.fail(_("Pil and tesseract not installed and no Client connected for captcha decrypting"))
elif task.error:
self.fail(task.error)
elif not task.result:
self.fail(_("No captcha result obtained in appropriate time."))
result = task.result
self.log.debug("Received captcha result: %s" % str(result))
if not self.core.debug:
try:
remove(temp_file.name)
except:
pass
return result
开发者ID:neubi4,项目名称:pyload,代码行数:69,代码来源:Base.py
注:本文中的pyload.utils.fs.join函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论