/** * Copyright (c) 2005-2012 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.plugin.nature; import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IProgressMonitor; import org.python.pydev.editor.codecompletion.revisited.ModulesFoundStructure; /** * @author radim@kubacki.cz (Radim Kubacki) */ public interface IPythonPathHelper { /** * Given the absolute file system location of a module, returns the qualified module name. * * @param absoluteModuleLocation this is the location of the module. Only for directories, or * .py, .pyd, .dll, .so, .pyo files. * @return the dot-separated qualified name of the module that the file or folder should represent. * E.g.: compiler.ast */ public String resolveModule(String absoluteModuleLocation, IProject project); /** * Sets the python path to operate on. * * @param string with paths separated by {@code |} */ public void setPythonPath(String string); /** * Getter for Python path. * * @return list of Python path entries. */ public List<String> getPythonpath(); /** * This method should traverse the pythonpath passed and return a structure with the info that could be collected * about the files that are related to python modules. */ public ModulesFoundStructure getModulesFoundStructure(IProgressMonitor monitor); }