本文整理汇总了Python中rope.base.project.Project.get_resource方法的典型用法代码示例。如果您正苦于以下问题:Python Project.get_resource方法的具体用法?Python Project.get_resource怎么用?Python Project.get_resource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rope.base.project.Project
的用法示例。
在下文中一共展示了Project.get_resource方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RopeComplete
# 需要导入模块: from rope.base.project import Project [as 别名]
# 或者: from rope.base.project.Project import get_resource [as 别名]
class RopeComplete(object):
def __init__(self, project_path, source_code, resource_path, code_point):
self.project = Project(project_path)
self.project.pycore._init_python_files()
self.resource = self.project.get_resource(resource_path)
self.source_code = source_code
self.code_point = code_point
def __del__(self):
self.project.close()
def get_proposals(self):
ret = []
proposals = codeassist.code_assist(self.project, self.source_code, self.code_point, resource=self.resource, maxfixes=10)
proposals = codeassist.sorted_proposals(proposals)
if V(ROPE_VERSION) <= V('0.9.2'):
for proposal in proposals:
ret.append(new_completion_item(name=proposal.name, scope=proposal.kind, type=proposal.type))
else:
for proposal in proposals:
ret.append(new_completion_item(name=proposal.name, scope=proposal.scope, type=proposal.type))
return ret
def get_calltip(self):
calltip = codeassist.get_doc(self.project, self.source_code, self.code_point, resource=self.resource, maxfixes=10)
return calltip
示例2: complete
# 需要导入模块: from rope.base.project import Project [as 别名]
# 或者: from rope.base.project.Project import get_resource [as 别名]
def complete(self):
if TM_PROJECT_DIRECTORY is None:
return ''
#from rope.contrib import autoimport
project = Project(TM_PROJECT_DIRECTORY)
#autoimport = autoimport.AutoImport(project)
resource = project.get_resource(TM_FILEPATH.replace(TM_PROJECT_DIRECTORY, '')[1:])
#project.validate(self.project_path)
caret_index = self.source.find(TM_CURRENT_LINE) + TM_LINE_INDEX
try:
proposals = codeassist.code_assist(project, self.source, caret_index, resource)
except:
ass = PythonCodeAssist(project)
proposals = ass.assist(self.source, caret_index, resource)
try:
if len(proposals) == 0:
return ''
except:
return ''
if len(proposals) == 1:
selection = proposals[0].name
else:
proposals = codeassist.sorted_proposals(proposals)
#autoimport.generate_cache()
#autoimport.generate_modules_cache(modules)
#project.pycore.analyze_module(resource)
names = [proposal.name for proposal in proposals]
#if self.starting.strip() and '.' not in self.expression:
# import_assists = self.autoimport.import_assist(self.starting)
# names.extend(x[0] + ' : ' + x[1] for x in import_assists)
#plist = "{ menuItems=(%s);}"
selection = dialog.menu(names)
if selection is None:
return ''
if TM_CURRENT_WORD is None:
return selection
else:
return selection.replace(TM_CURRENT_WORD, '')
示例3: main
# 需要导入模块: from rope.base.project import Project [as 别名]
# 或者: from rope.base.project.Project import get_resource [as 别名]
def main():
# TODO: Determine if this is necessary. Can we still provide basic completion in a 'standalone' file?
if textmate.PROJECT_DIRECTORY is None:
textmate.exit_show_tool_tip('No completions.')
source = sys.stdin.read()
#from rope.contrib import autoimport
project = Project(textmate.PROJECT_DIRECTORY)
#autoimport = autoimport.AutoImport(project)
resource = project.get_resource(textmate.FILEPATH.replace(textmate.PROJECT_DIRECTORY, '')[1:])
#project.validate(self.project_path)
caret_index = source.find(textmate.CURRENT_LINE) + textmate.LINE_INDEX
current_word = textmate.current_word(r"[a-zA-Z_]*", 'both')
proposals = codeassist.code_assist(project, source, caret_index, resource)
try:
if len(proposals) == 0:
raise 'no proposals found'
except:
textmate.exit_show_tool_tip("No completions.")
if len(proposals) == 1:
textmate.exit_insert_text(proposals[0].name.replace(current_word, '', 1))
else:
proposals = codeassist.sorted_proposals(proposals)
#autoimport.generate_cache()
#autoimport.generate_modules_cache(modules)
#project.pycore.analyze_module(resource)
names = [proposal.name for proposal in proposals]
#if self.starting.strip() and '.' not in self.expression:
# import_assists = self.autoimport.import_assist(self.starting)
# names.extend(x[0] + ' : ' + x[1] for x in import_assists)
#plist = "{ menuItems=(%s);}"
ui.complete(names, {'initial_filter': current_word, 'extra_chars': "_"})
示例4: PyCoreTest
# 需要导入模块: from rope.base.project import Project [as 别名]
# 或者: from rope.base.project.Project import get_resource [as 别名]
#.........这里部分代码省略.........
self.assertEquals(get_base_type('Function'),
derived['method'].get_object().get_type())
def test_inheriting_multiple_base_class_attributes(self):
code = 'class Base1(object):\n def method1(self):\n pass\n' \
'class Base2(object):\n def method2(self):\n pass\n' \
'class Derived(Base1, Base2):\n pass\n'
mod = self.pycore.get_string_module(code)
derived = mod['Derived'].get_object()
self.assertTrue('method1' in derived)
self.assertTrue('method2' in derived)
def test_inheriting_multiple_base_class_attributes_with_the_same_name(self):
code = 'class Base1(object):\n def method(self):\n pass\n' \
'class Base2(object):\n def method(self):\n pass\n' \
'class Derived(Base1, Base2):\n pass\n'
mod = self.pycore.get_string_module(code)
base1 = mod['Base1'].get_object()
derived = mod['Derived'].get_object()
self.assertEquals(base1['method'].get_object(),
derived['method'].get_object())
def test_inheriting_unknown_base_class(self):
code = 'class Derived(NotFound):\n' \
' def f(self):\n' \
' pass\n'
mod = self.pycore.get_string_module(code)
derived = mod['Derived'].get_object()
self.assertTrue('f' in derived)
def test_module_creation(self):
new_module = testutils.create_module(self.project, 'module')
self.assertFalse(new_module.is_folder())
self.assertEquals(self.project.get_resource('module.py'), new_module)
def test_packaged_module_creation(self):
package = self.project.root.create_folder('package')
new_module = testutils.create_module(self.project, 'package.module')
self.assertEquals(self.project.get_resource('package/module.py'), new_module)
def test_packaged_module_creation_with_nested_src(self):
src = self.project.root.create_folder('src')
package = src.create_folder('pkg')
new_module = testutils.create_module(self.project, 'pkg.mod', src)
self.assertEquals(self.project.get_resource('src/pkg/mod.py'), new_module)
def test_package_creation(self):
new_package = testutils.create_package(self.project, 'pkg')
self.assertTrue(new_package.is_folder())
self.assertEquals(self.project.get_resource('pkg'), new_package)
self.assertEquals(self.project.get_resource('pkg/__init__.py'),
new_package.get_child('__init__.py'));
def test_nested_package_creation(self):
package = testutils.create_package(self.project, 'pkg1')
nested_package = testutils.create_package(self.project, 'pkg1.pkg2')
self.assertEquals(self.project.get_resource('pkg1/pkg2'), nested_package)
def test_packaged_package_creation_with_nested_src(self):
src = self.project.root.create_folder('src')
package = testutils.create_package(self.project, 'pkg1', src)
nested_package = testutils.create_package(self.project, 'pkg1.pkg2', src)
self.assertEquals(self.project.get_resource('src/pkg1/pkg2'), nested_package)
def test_find_module(self):
src = self.project.root.create_folder('src')
示例5: Project
# 需要导入模块: from rope.base.project import Project [as 别名]
# 或者: from rope.base.project.Project import get_resource [as 别名]
res_arg = arg
elif opt == '-f':
offset_arg = arg
option = option_arg;
projectpath = project_arg
if projectpath.startswith("file://"):
projectpath = projectpath.replace("file://", "")
proj = Project(projectpath)
proj.pycore._init_python_files()
input = open(source_code_arg, 'r')
source_code = input.read()
respath = relpath(projectpath, res_arg)
res = proj.get_resource(respath)
position = int(offset_arg)
try:
if option == "autocomplete":
proposals = codeassist.code_assist(proj, source_code, position, resource=res, maxfixes=10)
proposals = codeassist.sorted_proposals(proposals)
for proposal in proposals:
print proposal
elif option == "calltip":
proposals = codeassist.get_doc(proj, source_code, position, resource=res, maxfixes=10)
print proposals
except: