apply some PEP8 love to template.py
This commit is contained in:
@@ -1,51 +1,62 @@
|
|||||||
from pkg_resources import resource_filename
|
#!/usr/bin/env python
|
||||||
import os,shutil
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
from pkg_resources import resource_filename
|
||||||
|
|
||||||
from migrate.versioning.base import *
|
from migrate.versioning.base import *
|
||||||
from migrate.versioning import pathed
|
from migrate.versioning import pathed
|
||||||
|
|
||||||
|
|
||||||
class Packaged(pathed.Pathed):
|
class Packaged(pathed.Pathed):
|
||||||
"""An object assoc'ed with a Python package"""
|
"""An object assoc'ed with a Python package"""
|
||||||
def __init__(self,pkg):
|
|
||||||
|
def __init__(self, pkg):
|
||||||
self.pkg = pkg
|
self.pkg = pkg
|
||||||
path = self._find_path(pkg)
|
path = self._find_path(pkg)
|
||||||
super(Packaged,self).__init__(path)
|
super(Packaged, self).__init__(path)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _find_path(cls,pkg):
|
def _find_path(cls, pkg):
|
||||||
pkg_name, resource_name = pkg.rsplit('.',1)
|
pkg_name, resource_name = pkg.rsplit('.', 1)
|
||||||
ret = resource_filename(pkg_name,resource_name)
|
ret = resource_filename(pkg_name, resource_name)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
class Collection(Packaged):
|
class Collection(Packaged):
|
||||||
"""A collection of templates of a specific type"""
|
"""A collection of templates of a specific type"""
|
||||||
_default=None
|
|
||||||
def get_path(self,file):
|
_default = None
|
||||||
return os.path.join(self.path,str(file))
|
|
||||||
def get_pkg(self,file):
|
def get_path(self, file):
|
||||||
return (self.pkg,str(file))
|
return os.path.join(self.path, str(file))
|
||||||
|
|
||||||
|
def get_pkg(self, file):
|
||||||
|
return (self.pkg, str(file))
|
||||||
|
|
||||||
class RepositoryCollection(Collection):
|
class RepositoryCollection(Collection):
|
||||||
_default='default'
|
_default = 'default'
|
||||||
|
|
||||||
class ScriptCollection(Collection):
|
class ScriptCollection(Collection):
|
||||||
_default='default.py_tmpl'
|
_default = 'default.py_tmpl'
|
||||||
|
|
||||||
class Template(Packaged):
|
class Template(Packaged):
|
||||||
"""Finds the paths/packages of various Migrate templates"""
|
"""Finds the paths/packages of various Migrate templates"""
|
||||||
_repository='repository'
|
|
||||||
_script='script'
|
|
||||||
_manage='manage.py_tmpl'
|
|
||||||
|
|
||||||
def __init__(self,pkg):
|
_repository = 'repository'
|
||||||
super(Template,self).__init__(pkg)
|
_script = 'script'
|
||||||
self.repository=RepositoryCollection('.'.join((self.pkg,self._repository)))
|
_manage = 'manage.py_tmpl'
|
||||||
self.script=ScriptCollection('.'.join((self.pkg,self._script)))
|
|
||||||
|
|
||||||
def get_item(self,attr,filename=None,as_pkg=None,as_str=None):
|
def __init__(self, pkg):
|
||||||
item = getattr(self,attr)
|
super(Template, self).__init__(pkg)
|
||||||
|
self.repository=RepositoryCollection('.'.join((self.pkg, self._repository)))
|
||||||
|
self.script=ScriptCollection('.'.join((self.pkg, self._script)))
|
||||||
|
|
||||||
|
def get_item(self, attr, filename=None, as_pkg=None, as_str=None):
|
||||||
|
item = getattr(self, attr)
|
||||||
if filename is None:
|
if filename is None:
|
||||||
filename = getattr(item,'_default')
|
filename = getattr(item, '_default')
|
||||||
if as_pkg:
|
if as_pkg:
|
||||||
ret = item.get_pkg(filename)
|
ret = item.get_pkg(filename)
|
||||||
if as_str:
|
if as_str:
|
||||||
@@ -54,14 +65,14 @@ class Template(Packaged):
|
|||||||
ret = item.get_path(filename)
|
ret = item.get_path(filename)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def get_repository(self,filename=None,as_pkg=None,as_str=None):
|
def get_repository(self, filename=None, as_pkg=None, as_str=None):
|
||||||
return self.get_item('repository',filename,as_pkg,as_str)
|
return self.get_item('repository', filename, as_pkg, as_str)
|
||||||
|
|
||||||
def get_script(self,filename=None,as_pkg=None,as_str=None):
|
def get_script(self, filename=None, as_pkg=None, as_str=None):
|
||||||
return self.get_item('script',filename,as_pkg,as_str)
|
return self.get_item('script', filename, as_pkg, as_str)
|
||||||
|
|
||||||
def manage(self,**k):
|
def manage(self, **k):
|
||||||
return (self.pkg,self._manage)
|
return (self.pkg, self._manage)
|
||||||
|
|
||||||
template_pkg='migrate.versioning.templates'
|
template_pkg = 'migrate.versioning.templates'
|
||||||
template=Template(template_pkg)
|
template = Template(template_pkg)
|
||||||
|
|||||||
Reference in New Issue
Block a user