开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
python-project
/
pyenv
/
Scripts
/
prov-convert
python-project
/
pyenv
/
Scripts
/
prov-convert
prov-convert 4.69 KB
一键复制 编辑 原始数据 按行查看 历史
terrycode 提交于 2024年06月25日 11:38 +08:00 . 2024年06月25日 周二 11:38:00.70
#!C:\Users\DESKTOP\Downloads\PythonPNG\pyenv\Scripts\python.exe
# encoding: utf-8
"""
convert -- Convert PROV-JSON to RDF, PROV-N, PROV-XML, or graphical formats (SVG, PDF, PNG)
@author: Trung Dong Huynh
@copyright: 2016 University of Southampton, United Kingdom. All rights reserved.
@license: MIT License
@contact: trungdong@donggiang.com
@deffield updated: 2016年10月19日
"""
from argparse import ArgumentParser, RawDescriptionHelpFormatter, FileType
import os
import sys
import logging
import traceback
from prov.model import ProvDocument
from prov import serializers
logger = logging.getLogger(__name__)
__all__ = []
__version__ = 0.1
__date__ = '2014-03-14'
__updated__ = '2016-10-19'
DEBUG = 0
TESTRUN = 0
PROFILE = 0
GRAPHVIZ_SUPPORTED_FORMATS = {
'bmp', 'canon', 'cmap', 'cmapx', 'cmapx_np', 'dot', 'eps', 'fig', 'gtk', 'gv', 'ico', 'imap', 'imap_np', 'ismap',
'jpe', 'jpeg', 'jpg', 'pdf', 'plain', 'plain-ext', 'png', 'ps', 'ps2', 'svg', 'svgz', 'tif', 'tiff', 'tk',
'vml', 'vmlz', 'x11', 'xdot', 'xlib'
}
class CLIError(Exception):
"""Generic exception to raise and log different fatal errors."""
def __init__(self, msg):
super(CLIError).__init__(type(self))
self.msg = "E: %s" % msg
def __str__(self):
return self.msg
def convert_file(infile, outfile, output_format):
prov_doc = ProvDocument.deserialize(infile)
# Formats not supported by prov.serializers
if output_format == 'provn':
outfile.write(prov_doc.get_provn().encode())
elif output_format in GRAPHVIZ_SUPPORTED_FORMATS:
from prov.dot import prov_to_dot
dot = prov_to_dot(prov_doc)
content = dot.create(format=output_format)
outfile.write(content)
else:
# Try supported serializers:
try:
prov_doc.serialize(outfile, format=output_format)
except serializers.DoNotExist:
raise CLIError('Output format "%s" is not supported.' % output_format)
def main(argv=None): # IGNORE:C0111
"""Command line options."""
if argv is None:
argv = sys.argv
else:
sys.argv.extend(argv)
program_name = os.path.basename(sys.argv[0])
program_version = "v%s" % __version__
program_build_date = str(__updated__)
program_version_message = '%%(prog)s %s (%s)' % (program_version, program_build_date)
program_shortdesc = __import__('__main__').__doc__.split("\n")[1]
program_license = '''%s
Created by Trung Dong Huynh on %s.
Copyright 2016 University of Southampton. All rights reserved.
Licensed under the MIT License
https://github.com/trungdong/prov/blob/master/LICENSE
Distributed on an "AS IS" basis without warranties
or conditions of any kind, either express or implied.
USAGE
''' % (program_shortdesc, str(__date__))
try:
# Setup argument parser
parser = ArgumentParser(description=program_license, formatter_class=RawDescriptionHelpFormatter)
parser.add_argument('-f', '--format', dest='format', action='store', default='json',
help='output format: json, xml, provn, or one supported by GraphViz (e.g. svg, pdf)')
parser.add_argument('infile', nargs='?', type=FileType('r'), default=sys.stdin)
parser.add_argument('outfile', nargs='?', type=FileType('wb'), default=sys.stdout)
parser.add_argument('-V', '--version', action='version', version=program_version_message)
args = None
try:
# Process arguments
args = parser.parse_args()
convert_file(args.infile, args.outfile, args.format.lower())
finally:
if args:
if args.infile:
args.infile.close()
if args.outfile:
args.outfile.close()
return 0
except KeyboardInterrupt:
# handle keyboard interrupt
return 0
except Exception as e:
if DEBUG or TESTRUN:
traceback.print_exc()
raise e
indent = len(program_name) * " "
sys.stderr.write(program_name + ": " + str(e) + "\n")
sys.stderr.write(indent + " for help use --help")
return 2
if __name__ == "__main__":
logging.basicConfig(level=(logging.DEBUG if DEBUG else logging.INFO))
if TESTRUN:
import doctest
doctest.testmod()
if PROFILE:
import cProfile
import pstats
profile_filename = 'converter_profile.txt'
cProfile.run('main()', profile_filename)
statsfile = open("profile_stats.txt", "wb")
p = pstats.Stats(profile_filename, stream=statsfile)
stats = p.strip_dirs().sort_stats('cumulative')
stats.print_stats()
statsfile.close()
sys.exit(0)
sys.exit(main())
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

里面编写了日常工作中用到的一些代码
暂无标签
Artistic-2.0
使用 Artistic-2.0 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/xuscode/python-project.git
git@gitee.com:xuscode/python-project.git
xuscode
python-project
python-project
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /