本文整理汇总了Python中unipath.Path类的典型用法代码示例。如果您正苦于以下问题:Python Path类的具体用法?Python Path怎么用?Python Path使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Path类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: enviar_email_con_cupon
def enviar_email_con_cupon(modeladmin, request, queryset):
leads_incorrectos = 0
leads_correctos = 0
for lead in queryset:
if lead.enviado_en_csv is True and lead.enviado_cupon is False and lead.colectivo_validado is True:
for fichero in os.listdir(settings.COUPONS_ROOT):
if fnmatch.fnmatch(fichero, str(lead.id)+'_*.pdf'):
cupon_fichero = Path(settings.COUPONS_ROOT, fichero)
if cupon_fichero.exists():
codigo = fichero.split("_")[1].split(".")[0]
url_cupon = settings.BASE_URL+'/static/coupons/'+fichero
mail = EmailMultiAlternatives(
subject="Mi cupón de 10€ de Juguetes Blancos",
body='Descarga tu cupon aqui: '+url_cupon+' </p>',
from_email="Rocio, JueguetesBlancos <[email protected]>",
to=[lead.email]
)
mail.attach_alternative(render_to_string('leads/email_cupon.html', {'lead': lead, 'url_cupon': url_cupon}), "text/html")
mail.send()
lead.enviado_cupon = True
lead.codigo_cupon = codigo
lead.save()
leads_correctos = leads_correctos+1
else:
leads_incorrectos = leads_incorrectos+1
messages.success(request, str(leads_correctos)+' Email/s enviado Correctamente')
messages.error(request, str(leads_incorrectos)+' Leads no cumplian las condiciones.')
示例2: test_dump2py
def test_dump2py(self):
for prj in ["lino_book/projects/belref"]:
p = Path(prj)
tmp = p.child('tmp').absolute()
tmp.rmtree()
self.run_django_admin_command_cd(p, 'dump2py', tmp)
self.assertEqual(tmp.child('restore.py').exists(), True)
示例3: SymlinkItem
class SymlinkItem(BaseItem):
src = None
destination = None
def __init__(self, src, destination):
self.src = Path(src)
self.destination = Path(destination)
def run(self, context):
if not self.src.isabsolute():
self.src = Path(Path(context['target_dir']), self.src)
if self.destination.isabsolute():
destination = Path(context['package_root'], strip_root(self.destination))
else:
destination = Path(context['package_project_dir'], self.destination)
parent_dir = destination.parent
if not parent_dir.exists():
parent_dir.mkdir(parents=True, mode=0777)
command = 'ln -s %(src)s %(destination)s' % {
'src': self.src,
'destination': destination
}
fabric.api.local(command, capture=True)
示例4: __init__
def __init__(self, release_search_dir, tmp_dir, unpack_dir,
no_remove=False):
self.release_search_dir = Path(release_search_dir)
self.release_search_dir_abs = self.release_search_dir.absolute()
self.tmp_dir = Path(tmp_dir)
self.unpack_dir = Path(unpack_dir)
self.no_remove = no_remove
if not self.release_search_dir_abs.exists():
raise ReleaseUnpackerError(
'Release search dir {} doesn\'t exist'.format(
self.release_search_dir))
elif not self.release_search_dir_abs.isdir():
raise ReleaseUnpackerError(
'Release search dir {} is not a dir'.format(
self.release_search_dir))
elif not self.tmp_dir.exists():
raise ReleaseUnpackerError(
'Tmp dir {} doesn\'t exist'.format(self.tmp_dir))
elif not self.tmp_dir.isdir():
raise ReleaseUnpackerError(
'Tmp dir {} is not a dir'.format(
self.tmp_dir))
elif not self.unpack_dir.exists():
raise ReleaseUnpackerError(
'Unpack dir {} doesn\'t exist'.format(self.unpack_dir))
elif not self.unpack_dir.isdir():
raise ReleaseUnpackerError(
'Unpack dir {} is not a dir'.format(
self.unpack_dir))
示例5: process_directory
def process_directory(directory, context, variable_start_string='{<',
variable_end_string='>}', extensions=None,
filter=FILES_NO_LINKS):
directory = Path(directory)
for f in directory.walk(filter=filter):
if extensions:
if f.ext not in extensions:
continue
components = f.components()
td, tf = Path(*components[:-1]), components[-1]
jinja_env = Environment(loader=FileSystemLoader(str(td)),
variable_start_string=variable_start_string,
variable_end_string=variable_end_string,
block_start_string='{<%',
block_end_string='%>}',
comment_start_string='{<#',
comment_end_string='#>}',
)
try:
rendered = jinja_env.get_template(str(tf)).render(**context)
except Exception, e:
print "Cannot process file %s on line %s" % (
e.filename,
e.lineno
)
continue
f.write_file(rendered.encode('utf-8'))
示例6: release
def release():
"""Assemble a release dist package."""
# create the dist directory
with quiet():
local('rm -rf {}'.format(env.paths['dist']))
local('mkdir -p {}'.format(env.paths['dist']))
# find compiled packages
for (dirpath, dirnames, filenames) in os.walk(env.paths['compiled']):
files = []
filename = []
for path in glob.glob(Path(dirpath).child('*.u')):
path = Path(path)
files.append(path)
# filename has not yet been assembled
if not filename:
# get path of a compile package relative to the directory
relpath = Path(os.path.relpath(path, start=env.paths['compiled']))
if relpath:
# first two components of the assembled dist package name
# are the original swat package name and its version..
filename = [env.paths['here'].name, env.dist['version']]
for component in relpath.components()[1:-1]:
# also include names of directories the components
# of the relative path
filename.append(component.lower())
filename.extend(['tar', 'gz'])
if not files:
continue
# tar the following files
files.extend(env.dist['extra'])
with lcd(env.paths['dist']):
local(r'tar -czf "{}" {} '.format(
'.'.join(filename),
' '.join(['-C "{0.parent}" "{0.name}"'.format(f) for f in files])
))
示例7: __init__
def __init__(self, deployment, project_dir, deployment_dir):
self.deployment = deployment
self.project_dir = Path(project_dir)
self.deployment_dir = Path(deployment_dir)
self.packages_dir = self.deployment_dir.child(".packages")
self.target_dir = Path(self.target_dir)
self.deployment_files_dir = deployment_dir.child(deployment)
示例8: activate_env
def activate_env():
""" Activates the virtual environment for this project."""
error_msg = None
try:
virtualenv_dir = Path(os.environ['WORKON_HOME'])
except KeyError:
error_msg = "Error: 'WORKON_HOME' is not set."
if error_msg:
color_init()
sys.stderr.write(Fore.RED + Style.BRIGHT + error_msg + "\n")
sys.exit(1)
filepath = Path(__file__).absolute()
site_dir = filepath.ancestor(4).components()[-1]
repo_dir = filepath.ancestor(3).components()[-1]
# Add the app's directory to the PYTHONPATH
sys.path.append(filepath.ancestor(2))
sys.path.append(filepath.ancestor(1))
# Set manually in environment
#os.environ['DJANGO_SETTINGS_MODULE'] = 'settings.production'
if os.environ['DJANGO_SETTINGS_MODULE'] == 'settings.production':
bin_parent = site_dir
else:
bin_parent = repo_dir
# Activate the virtual env
activate_env = virtualenv_dir.child(bin_parent, "bin", "activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
示例9: environment
def environment(**options):
queryfinder = QueryFinder()
searchpath =[]
staticdirs = []
sites = settings.SHEER_SITES
for site in sites:
site_path = Path(site)
searchpath.append(site_path)
searchpath.append(site_path.child('_includes'))
searchpath.append(site_path.child('_layouts'))
staticdirs.append(site_path.child('static'))
options['loader'].searchpath += searchpath
settings.STATICFILES_DIRS = staticdirs
env = SheerlikeEnvironment(**options)
env.globals.update({
'static': staticfiles_storage.url,
'url_for':url_for,
'url': reverse,
'queries': queryfinder,
'more_like_this': more_like_this,
'get_document': get_document,
'selected_filters_for_field': selected_filters_for_field,
'is_filter_selected': is_filter_selected,
})
env.filters.update({
'date':date_filter
})
return env
示例10: get_closest_uid
def get_closest_uid(path):
path = Path(path)
while not path.isdir():
path = path.ancestor(1)
if path == '/':
return False
return path.stat().st_uid
示例11: superuser
def superuser(pubkey=None, username=None):
"""
fab env superuser
"""
env.user = 'root'
keyfile = Path(pubkey or Path('~', '.ssh', 'id_rsa.pub')).expand()
if not keyfile.exists():
abort('Public key file does not exist: %s' % keyfile)
username = username or prompt('Username: ')
password = getpass('Password: ')
password = local('perl -e \'print crypt(\"%s\", \"password\")\'' % (password),
capture=True)
with open(keyfile, 'r') as f:
pubkey = f.read(65535)
commands = (
'useradd -m -s /bin/bash -p {password} {username}',
'mkdir ~{username}/.ssh -m 700',
'echo "{pubkey}" >> ~{username}/.ssh/authorized_keys',
'chmod 644 ~{username}/.ssh/authorized_keys',
'chown -R {username}:{username} ~{username}/.ssh',
'usermod -a -G sudo {username}',
)
for command in commands:
run(command.format(**locals()))
示例12: set_up_and_import_file
def set_up_and_import_file(self):
temp_dir = Path(tempfile.mkdtemp())
temp_file = Path(temp_dir, 'test.csv')
with open(temp_file, 'a') as f:
header = ''
header_fields = [
'route',
'account_number',
'house_number',
'pre_direction',
'street',
'street_type',
'post_direction',
'unit',
'city_state_zip'
]
for x, field in enumerate(header_fields):
if x + 1 == len(header_fields):
header = header + field + '\n'
else:
header = header + field + ','
f.write(header)
f.write('123,123,123,S,TEST,RD,S,#5B,"TEST, FL 32174"')
mommy.make(
'route_update.Directional', direction='South', abbreviation='S'
)
mommy.make('route_update.StreetType', name='Road', abbreviation='RD')
mommy.make('route_update.State', name='Florida', abbreviation='FL')
Location.create_active_locations_from_file(temp_file)
temp_dir.rmtree()
示例13: setup_babel_userdocs
def setup_babel_userdocs(babelcmd):
"""Create userdocs .po files if necessary."""
userdocs = env.root_dir.child('userdocs')
if not userdocs.isdir():
return
locale_dir = userdocs.child('translations')
for domain in locale_dir.listdir('*.pot', names_only=True):
domain = domain[:-4]
for loc in env.languages:
if loc != env.languages[0]:
po_file = Path(locale_dir, loc, 'LC_MESSAGES', '%s.po' %
domain)
mo_file = Path(locale_dir, loc, 'LC_MESSAGES', '%s.mo' %
domain)
pot_file = Path(locale_dir, '%s.pot' % domain)
if babelcmd == 'init_catalog' and po_file.exists():
print("Skip %s because file exists." % po_file)
#~ elif babelcmd == 'compile_catalog' and not mo_file.needs_update(po_file):
#~ print "Skip %s because newer than .po" % mo_file
else:
args = ["python", "setup.py"]
args += [babelcmd]
args += ["-l", loc]
args += ["--domain", domain]
args += ["-d", locale_dir]
#~ args += [ "-o" , po_file ]
#~ if babelcmd == 'init_catalog':
if babelcmd == 'compile_catalog':
args += ["-i", po_file]
else:
args += ["-i", pot_file]
cmd = ' '.join(args)
#~ must_confirm(cmd)
local(cmd)
示例14: load_inv_namespace
def load_inv_namespace(root_dir):
"""
Execute the :xfile:`tasks.py` file of this project and return its
`ns`.
"""
# self._tasks_loaded = True
tasks_file = root_dir.child('tasks.py')
if not tasks_file.exists():
return None
# raise Exception("No tasks.py file in {}".format(root_dir))
# return
# print("20180428 load tasks.py from {}".format(root_dir))
# http://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-full-path
# http://stackoverflow.com/questions/19009932/import-arbitrary-python-source-file-python-3-3
# fqname = 'atelier.prj_%s' % self.index
cwd = Path().resolve()
root_dir.chdir()
m = dict()
m["__file__"] = str(tasks_file)
with open(tasks_file) as f:
exec(f.read(), m)
cwd.chdir()
return m['ns']
示例15: run
def run(self, context):
if not self.directory_name.isabsolute():
directory = Path(Path(context['package_project_dir']), self.directory_name)
else:
directory = Path(context['package_root'], Path(strip_root(self.directory_name)))
directory.mkdir(parents=True, mode=self.mode)