本文整理汇总了Python中projects.Projects.save方法的典型用法代码示例。如果您正苦于以下问题:Python Projects.save方法的具体用法?Python Projects.save怎么用?Python Projects.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类projects.Projects
的用法示例。
在下文中一共展示了Projects.save方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post
# 需要导入模块: from projects import Projects [as 别名]
# 或者: from projects.Projects import save [as 别名]
def post(self, *args):
if len(args) >= 1:
name = args[0]
project = Projects(name)
for key, value in self.request.arguments.iteritems():
if key in ("git_url", "version", "build_cmd", "install_cmd"):
setattr(project, key, value[0])
project.save()
try:
if not Projects(self.get_argument('name')).exists():
raise
except Exception, e:
project = Projects()
project.name = self.get_argument('name')[0]
project.git_url = self.get_argument('git_url')[0]
for name, parm in self.request.arguments.iteritems():
if name not in ('branch', 'version'):
setattr(project, str(name), parm[0])
try:
project.add_branch(self.get_argument('branch'))
project.version(self.get_argument('branch'), self.get_argument('version'))
project.group_name = self.get_argument('group_name')
project.save()
log.msg('Project created:', project.name)
reactor.callInThread(queue.enqueue, 'build', 'builder.build_project', {'project': project.name, 'branch': self.get_argument('branch'), 'force': True})
self.write(cyclone.escape.json_encode({'status': 'ok'}))
except Exception, e:
log.err()
self.write(cyclone.escape.json_encode({'status': "fail"}))
示例2: post
# 需要导入模块: from projects import Projects [as 别名]
# 或者: from projects.Projects import save [as 别名]
def post(self, *args):
if len(args) >= 1:
name = args[0]
project = Projects(name)
for key, value in self.request.arguments.iteritems():
if key in ("git_url", "version", "build_cmd", "install_cmd"):
setattr(project, key, value[0])
project.save()
try:
if not Projects(self.get_argument("name")).exists():
raise
except Exception, e:
project = Projects()
project.name = self.get_argument("name")[0]
project.git_url = self.get_argument("git_url")[0]
for name, parm in self.request.arguments.iteritems():
if name not in ("branch", "version"):
setattr(project, str(name), parm[0])
try:
project.add_branch(self.get_argument("branch"))
project.version(self.get_argument("branch"), self.get_argument("version"))
project.group_name = self.get_argument("group_name")
project.save()
log.msg("Project created:", project.name)
self.write(cyclone.escape.json_encode({"status": "ok"}))
except Exception, e:
log.err()
self.write(cyclone.escape.json_encode({"status": "fail"}))
示例3: put
# 需要导入模块: from projects import Projects [as 别名]
# 或者: from projects.Projects import save [as 别名]
def put(self, name):
project = Projects(name)
try:
for aname, arg in self.request.arguments.iteritems():
if aname in ('branch'):
branch = arg
else:
setattr(project, aname, arg[0])
project.save()
except Exception, e:
log.err(e)
self.finish(cyclone.escape.json_encode({'status': 'fail'}))
示例4: put
# 需要导入模块: from projects import Projects [as 别名]
# 或者: from projects.Projects import save [as 别名]
def put(self, name):
project = Projects(name)
try:
for aname, arg in self.request.arguments.iteritems():
if aname in ("branch"):
branch = arg
else:
setattr(project, aname, arg[0])
json_data = json.loads(self.request.body)
if len(json_data.keys()) > 0:
for k, v in json_data.iteritems():
setattr(project, k, v)
project.save()
except Exception, e:
log.err(e)
self.finish(cyclone.escape.json_encode({"status": "fail"}))
示例5: __init__
# 需要导入模块: from projects import Projects [as 别名]
# 或者: from projects.Projects import save [as 别名]
class Builder:
def __init__(self, project):
self.workspace = BrickConfig().get('workspace', 'dir')
self.project = Projects(project)
self.templates_dir = BrickConfig().get('workspace', 'template_dir')
self.git = git.Git(self.project)
self.workdir = self.git.workdir
self.build_system = BrickConfig().get('build', 'system')
self.ftp_host = BrickConfig().get('ftp', 'host')
self.ftp_user = BrickConfig().get('ftp', 'user')
self.ftp_pass = BrickConfig().get('ftp', 'pass')
self.ftp_dir = BrickConfig().get('ftp', 'dir')
if self.build_system == 'rpm':
self.package_builder = RpmBuilder(self)
elif self.build_system == 'deb':
self.package_builder = DebBuilder(self)
if self.build_system == 'rpm':
self.mod_install_cmd = self.project.install_cmd.replace(
'BUILDROOT', '%{buildroot}'
)
elif self.build_system == 'deb' or self.build_system == None:
self.mod_install_cmd = self.project.install_cmd.replace(
'BUILDROOT', 'debian/tmp'
)
if not os.path.isdir(self.workspace):
os.makedirs(self.workspace)
if not os.path.isdir(os.path.join(self.workspace, 'log')):
os.makedirs(os.path.join(self.workspace, 'log'))
self.stdout = None
self.stderr = self.stdout
def _exec(self, cmd, *args, **kwargs):
return subprocess.Popen(cmd, *args, **kwargs)
def build_project(self, force=False, a_branch=None):
try:
if force:
build = 1
else:
build = 0
"""
force build for a specific branch only if a_branch is not None
"""
if a_branch:
branches = [a_branch]
else:
branches = self.project.branches()
for branch in branches:
log.debug("Checking project: %s" % self.project.name)
try:
if not os.path.isdir(self.git.workdir):
self.git.clone(branch)
else:
self.git.checkout_tag(tag=".")
self.git.pull()
except Exception, e:
log.exception('Could not clone or update repository')
raise
if os.path.isdir(self.workdir):
os.chdir(self.workdir)
last_commit = self.git.last_commit(branch)
if self.project.last_commit(branch) != last_commit:
self.project.last_commit(branch, last_commit)
build = 1
self.project.save()
self.oldworkdir = self.workdir
if not os.path.isdir("%s-%s" % (self.workdir, branch)):
shutil.copytree(self.workdir, "%s-%s" % (self.workdir, branch))
self.workdir = "%s-%s" % (self.workdir, branch)
self.git.workdir = self.workdir
self.git.pull()
self.git.checkout_branch(branch)
if build == 1:
log.info('Generating packages for %s on %s' % (self.project, self.workdir))
self.package_builder.build(branch)
self.package_builder.upload(branch)
log.info("build complete")
self.workdir = self.oldworkdir
self.git.workdir = self.workdir
self.git.checkout_branch('master')
branch = 'master'
for tag_type in ('testing', 'stable'):
log.info('Last tag found: %s' % self.project.last_tag(tag_type))
if self.project.last_tag(tag_type) != self.git.last_tag(tag_type):
#.........这里部分代码省略.........