Author: bfitzpat
Date: 2010-11-19 12:47:14 -0500 (Fri, 19 Nov 2010)
New Revision: 26781
Added:
workspace/bfitzpat/org.jboss.tools.py.project.converter/.project
workspace/bfitzpat/org.jboss.tools.py.project.converter/.pydevproject
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/Main.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/constants.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/converter.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/dir_handler.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/file_handler.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/rmdir_nonempty.py
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/utils.py
Log:
JBIDE-6177 - checking initial version of Python conversion code into SVN
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/.project
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/.project
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/.project 2010-11-19 17:47:14
UTC (rev 26781)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.py.project.converter</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.python.pydev.PyDevBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.python.pydev.pythonNature</nature>
+ </natures>
+</projectDescription>
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/.pydevproject
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/.pydevproject
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/.pydevproject 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<?eclipse-pydev version="1.0"?>
+
+<pydev_project>
+<pydev_property
name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
+<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python
2.7</pydev_property>
+<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
+<path>/org.jboss.tools.py.project.converter/src</path>
+</pydev_pathproperty>
+</pydev_project>
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/Main.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/Main.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/Main.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,29 @@
+'''
+Created on Nov 16, 2010
+
+@author: bfitzpat
+'''
+import converter
+import os
+
+if __name__ == '__main__':
+ pass
+
+def convert(path):
+ string = os.path.split(path)
+ print 'Converting: ' + string[1]
+ converter.dir_to_eclipse( path )
+
+toconvert = []
+
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/camel_helloworld')
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/business_ruleservice_cep')
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/deadletter')
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/helloworld_file_action')
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/helloworld_file_notifier')
+toconvert.append('/home/bfitzpat/NotBackedUp/runtimes/jboss-soa-p-5/jboss-as/samples/quickstarts/helloworld_ftp_action')
+
+for x in toconvert:
+ print 'Starting to convert ' + x
+ convert( x )
+ print 'Converted ' + x
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/constants.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/constants.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/constants.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,18 @@
+'''
+Created on Nov 18, 2010
+
+@author: bfitzpat
+'''
+
+# some constants
+srcdir = 'src'
+esbcontentdir = 'esbcontent'
+metainfdir = 'META-INF'
+settingsdir = '.settings'
+
+# name of the runtime target server - CHANGE THIS TO BE YOUR LOCAL SERVER NAME
+runtimeTargetServerName = 'JBoss SOA-P 5.1 Runtime Server'
+
+# version for ESB
+esbVersion = '4.4'
+
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/converter.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/converter.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/converter.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,113 @@
+'''
+Beginnings of a Python library to convert an example from the
+runtime example format (take ESB as an example) and create an
+Eclipse project out of it.
+
+Created on Nov 16, 2010
+
+@author: bfitzpat
+'''
+
+import os
+import file_handler
+import dir_handler
+import constants
+
+def dir_to_eclipse(in_dir):
+ # assumes mode of in_dir will be the same as eclipse_dir
+ new_mode = os.stat(in_dir).st_mode
+
+ # simply add '_eclipse' to the end of the existing project name
+ eclipse_dir_name = in_dir + '_eclipse'
+ eclipse_dir = os.path.join(os.path.split(in_dir), eclipse_dir_name)
+ string = os.path.split(eclipse_dir_name)
+ projectname = string[1]
+
+ # create the eclipse project directory
+ dir_handler.create_eclipse_project_dir(eclipse_dir, eclipse_dir_name, new_mode)
+
+ # create directories under new_dir
+ dir_handler.create_esbcontent_dir(eclipse_dir, new_mode)
+ dir_handler.create_esbcontent_metainf_dir(eclipse_dir, new_mode)
+ dir_handler.create_dotsettings_dir(eclipse_dir, new_mode)
+
+ # handle src directory - copy src in if there is src, otherwise
+ # just create empty src dir
+ dir_handler.handle_src_dir(in_dir, eclipse_dir, new_mode)
+
+ # handle copying and updating the deployment.xml file
+ file_handler.handle_deployment_xml(in_dir, eclipse_dir)
+
+ # copy any jboss-esb.xml files (or name variants) to META-INF dir
+ global isesb
+ isesb = False
+ variant_esb_filenames = [ 'jboss-esb-unfiltered.xml',
'jboss-esb.xml']
+ for esbfile in variant_esb_filenames:
+ copied = file_handler.copy_file_to_metainfdir(in_dir, eclipse_dir, esbfile)
+ if copied:
+# global isesb
+ isesb = True
+
+ # copy any jboss-esb.properties files to META-INF dir
+ jbossesbprops = 'jboss-esb.properties'
+ file_handler.copy_file_to_metainfdir(in_dir, eclipse_dir, jbossesbprops)
+
+ # copy any log4j.xml files to esbcontent dir
+ log4jxml = 'log4j.xml'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir, log4jxml)
+
+ # copy any hornetq-jms.xml files to esbcontent dir
+ hornetqjmsxml = 'hornetq-jms.xml'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir, hornetqjmsxml)
+
+ # copy any jbm-queue-service.xml files to esbcontent dir
+ jbmqueueservicexml = 'jbm-queue-service.xml'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir, jbmqueueservicexml)
+
+ # copy any jndi.properties files to esbcontent dir
+ jndiprops = 'jndi.properties'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir, jndiprops)
+
+ # copy any business_ruleservice_cep.drl files to esbcontent dir
+ businessruleservicecepdrl = 'business_ruleservice_cep.drl'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir,
businessruleservicecepdrl)
+
+ # copy any business_ruleservice_cep-unfiltered.properties files to esbcontent dir
+ businessruleservicecepunfilteredproperties =
'business_ruleservice_cep-unfiltered.properties'
+ file_handler.copy_file_to_esbcontentdir(in_dir, eclipse_dir,
businessruleservicecepunfilteredproperties)
+
+ # copy any build.xml files to root eclipse project dir
+ buildxml = 'build.xml'
+ file_handler.handle_copy_file(in_dir, eclipse_dir, buildxml)
+
+ # copy any readme.txt files to root eclipse project dir
+ readmetxt = 'readme.txt'
+ file_handler.handle_copy_file(in_dir, eclipse_dir, readmetxt)
+
+ # create the .project file
+ file_handler.create_dotproject_file(eclipse_dir, projectname)
+
+ # create the .classpath file
+ containers = []
+ if isesb:
+ containers.append( 'org.jboss.esb.runtime.classpath/server.supplied/' +
constants.runtimeTargetServerName )
+ containers.append(
'org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/'
+ constants.runtimeTargetServerName )
+ file_handler.create_dotclasspath_file(eclipse_dir, containers)
+
+ # create the org.eclipse.wst.common.project.facet.core.xml file
+ entries = []
+ entries.append(' <runtime name="' +
constants.runtimeTargetServerName + '"/>')
+ if isesb:
+ entries.append(' <fixed facet="jst.jboss.esb"/>')
+ entries.append(' <installed facet="jst.jboss.esb"
version="' + constants.esbVersion + '"/>')
+ file_handler.create_facetcorexml_file(eclipse_dir, entries)
+
+ # create the org.eclipse.wst.common.component file
+ entries = []
+ if isesb:
+ entries.append(' <wb-resource deploy-path="/"
source-path="/esbcontent"/>')
+ entries.append(' <property name="java-output-path"
value="/esbcontent/build/classes/"/>')
+ file_handler.create_wstcommoncomponent_file (eclipse_dir, projectname, entries)
+
+ # create the org.eclipse.jdt.core.prefs file
+ file_handler.create_jdtcoreprefs_file(eclipse_dir)
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/dir_handler.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/dir_handler.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/dir_handler.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,57 @@
+'''
+Created on Nov 18, 2010
+
+@author: bfitzpat
+'''
+import os
+import rmdir_nonempty
+import constants
+import shutil
+
+debug = False
+
+def debug_msg ( message ):
+ if debug:
+ print 'Debug: ' + message
+
+def create_dir ( path, new_mode):
+ os.mkdir( path, new_mode)
+ string = os.path.split(path)
+ debug_msg ( 'Created directory: ' + string[1] )
+
+def create_eclipse_project_dir( eclipse_dir, eclipse_dir_name, new_mode ):
+ # if it already exists, delete it and start over
+ if os.path.exists(eclipse_dir):
+ rmdir_nonempty.removeall(eclipse_dir)
+ os.rmdir(eclipse_dir)
+
+ # create new eclipse project directory
+ create_dir (eclipse_dir, new_mode)
+
+def create_esbcontent_dir( eclipse_dir, new_mode ):
+ # create esbcontent directory
+ create_dir (os.path.join(eclipse_dir, constants.esbcontentdir), new_mode)
+
+def create_esbcontent_metainf_dir( eclipse_dir, new_mode ):
+ # create esbcontent/META-INF directory
+ create_dir (os.path.join(eclipse_dir, constants.esbcontentdir, constants.metainfdir),
new_mode)
+
+def create_dotsettings_dir ( eclipse_dir, new_mode ):
+ create_dir (os.path.join(eclipse_dir, constants.settingsdir), new_mode)
+
+def create_src_dir ( eclipse_dir, new_mode ):
+ create_dir (os.path.join(eclipse_dir, constants.srcdir), new_mode)
+
+def handle_src_dir ( in_dir, eclipse_dir, new_mode ):
+ mavensrc = os.path.join(in_dir, constants.srcdir)
+ try:
+ if os.listdir(mavensrc):
+ try:
+ eclipsesrc = os.path.join(eclipse_dir, constants.srcdir)
+ shutil.copytree(mavensrc, eclipsesrc)
+ debug_msg ( 'Created src directory and copied src to eclipse dir'
)
+ except OSError, errno:
+ print errno
+ except OSError:
+ create_src_dir ( eclipse_dir, new_mode )
+
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/file_handler.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/file_handler.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/file_handler.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,176 @@
+'''
+Created on Nov 18, 2010
+
+@author: bfitzpat
+'''
+
+import utils
+import shutil
+import constants
+import os
+import datetime
+
+debug = False
+
+def debug_msg ( message ):
+ if debug:
+ print 'Debug: ' + message
+
+def handle_deployment_xml( in_dir, eclipse_dir ):
+
+ #constants
+ deploymentxml = 'deployment.xml'
+ jmsqueueopen = '<jmsQueue>'
+ jmsqueueclose = '</jmsQueue>'
+
+ REDONE_STR =
"""<depends>jboss.esb.quickstart.destination:service=Queue,name=
%(queuename)s</depends>"""
+
+ #if the deployment file exists in the original directory
+ if utils.does_file_exist(in_dir, deploymentxml):
+
+ # copy it
+ shutil.copy2(os.path.join(in_dir, deploymentxml),
+ os.path.join(eclipse_dir, constants.esbcontentdir, constants.metainfdir,
deploymentxml))
+ debug_msg ( 'created file: ' + deploymentxml )
+
+ # now need to modify deployment.xml to get queue references right
+ deploymentxmlpath = os.path.join(eclipse_dir, constants.esbcontentdir,
constants.metainfdir, deploymentxml)
+ deploymentxmlfile = open(deploymentxmlpath, 'r')
+ alllines = deploymentxmlfile.readlines()
+ index = -1
+ for x in alllines:
+ index = index + 1
+ start = x.find(jmsqueueopen)
+ if start > -1:
+ end = x.find(jmsqueueclose)
+ if end > -1:
+ queuename = x[start + 10: end]
+ alllines[index] = REDONE_STR % {'queuename' : queuename }
+
+ deploymentxmlfile.close()
+
+ # now rewrite the file with the updated deploy tags
+ deploymentxmlpath = os.path.join(eclipse_dir, constants.esbcontentdir,
constants.metainfdir, deploymentxml)
+ deploymentxmlfile = open(deploymentxmlpath, 'w')
+ for x in alllines:
+ deploymentxmlfile.write(x + '\n')
+ deploymentxmlfile.close()
+
+def handle_copy_file ( in_dir, out_dir, filename ):
+ if utils.does_file_exist(in_dir, filename):
+ shutil.copy2(os.path.join(in_dir, filename),
+ os.path.join(out_dir, filename))
+ debug_msg ( 'created file: ' + filename )
+ return True
+
+def copy_file_to_metainfdir ( in_dir, eclipse_dir, filename ):
+ flag = handle_copy_file ( in_dir, os.path.join(eclipse_dir, constants.esbcontentdir,
constants.metainfdir), filename )
+ return flag
+
+def copy_file_to_esbcontentdir ( in_dir, eclipse_dir, filename ):
+ flag = handle_copy_file ( in_dir, os.path.join(eclipse_dir, constants.esbcontentdir),
filename )
+ return flag
+
+def handle_create_file ( eclipse_dir,filename, contents):
+ path = os.path.join(eclipse_dir, filename)
+ file = open(path, 'w')
+ for line in contents:
+ utils.writeline(file, line)
+
+def create_dotproject_file ( eclipse_dir, projectname):
+ dotprojectfilename = '.project'
+ contents = []
+ contents.append('<?xml version="1.0"
encoding="UTF-8"?>')
+ contents.append('<projectDescription>')
+ contents.append('<name>' + projectname + '</name>')
+ contents.append('<comment></comment>')
+ contents.append('<projects></projects>')
+ contents.append('<buildSpec>')
+ contents.append(' <buildCommand>')
+ contents.append('
<name>org.eclipse.jdt.core.javabuilder</name>')
+ contents.append(' <arguments></arguments>')
+ contents.append(' </buildCommand>')
+ contents.append(' <buildCommand>')
+ contents.append('
<name>org.eclipse.wst.common.project.facet.core.builder</name>')
+ contents.append(' <arguments></arguments>')
+ contents.append(' </buildCommand>')
+ contents.append(' <buildCommand>')
+ contents.append('
<name>org.eclipse.wst.validation.validationbuilder</name>')
+ contents.append(' <arguments></arguments>')
+ contents.append(' </buildCommand>')
+ contents.append('</buildSpec>')
+ contents.append('<natures>')
+ contents.append('
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>')
+ contents.append('
<nature>org.eclipse.jdt.core.javanature</nature>')
+ contents.append('
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>')
+ contents.append('
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>')
+ contents.append('</natures>')
+ contents.append('</projectDescription>')
+ handle_create_file ( eclipse_dir, dotprojectfilename, contents)
+
+def create_dotclasspath_file ( eclipse_dir, containers ):
+ dotclasspathfilename = '.classpath'
+ contents = []
+ contents.append('<?xml version="1.0"
encoding="UTF-8"?>')
+ contents.append('<classpath>')
+ contents.append(' <classpathentry kind="src"
path="src"/>')
+ contents.append(' <classpathentry kind="output"
path="build/classes"/>')
+ contents.append(' <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_14">')
+ contents.append(' <attributes>')
+ contents.append(' <attribute name="owner.project.facets"
value="java"/>')
+ contents.append(' </attributes>')
+ contents.append(' </classpathentry>')
+
+ for container in containers:
+ contents.append(' <classpathentry kind="con" path="'
+ container + '"/>')
+
+ contents.append('</classpath>')
+ handle_create_file ( eclipse_dir, dotclasspathfilename, contents)
+
+def create_facetcorexml_file ( eclipse_dir, entries ):
+ facetcorexmlfilename = 'org.eclipse.wst.common.project.facet.core.xml'
+ contents = []
+ contents.append('<?xml version="1.0"
encoding="UTF-8"?>')
+ contents.append('<faceted-project>')
+ contents.append(' <fixed facet="jst.java"/>')
+ contents.append(' <installed facet="jst.java"
version="6.0"/>')
+
+ for entry in entries:
+ contents.append(entry)
+
+ contents.append('</faceted-project>')
+ handle_create_file ( os.path.join(eclipse_dir, constants.settingsdir),
facetcorexmlfilename, contents)
+
+def create_wstcommoncomponent_file ( eclipse_dir, projectname, entries):
+ wstcommoncomponentfilename = 'org.eclipse.wst.common.component'
+ contents = []
+ contents.append('<?xml version="1.0"
encoding="UTF-8"?>')
+ contents.append('<project-modules id="moduleCoreId"
project-version="1.5.0">')
+ contents.append(' <wb-module deploy-name="' + projectname +
'">')
+ contents.append(' <wb-resource deploy-path="/"
source-path="/src"/>')
+
+ for entry in entries:
+ contents.append(entry)
+
+ contents.append(' </wb-module>')
+ contents.append('</project-modules>')
+ handle_create_file ( os.path.join(eclipse_dir, constants.settingsdir),
wstcommoncomponentfilename, contents)
+
+def create_jdtcoreprefs_file ( eclipse_dir ):
+ jdtcoreprefsfilename = 'org.eclipse.jdt.core.prefs'
+ contents = []
+ datetimestamp = datetime.datetime.today().ctime()
+ contents.append ('#' + datetimestamp)
+ contents.append ('eclipse.preferences.version=1')
+ contents.append
('org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled')
+ contents.append ('org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6')
+ contents.append
('org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve')
+ contents.append ('org.eclipse.jdt.core.compiler.compliance=1.6')
+ contents.append ('org.eclipse.jdt.core.compiler.debug.lineNumber=generate')
+ contents.append
('org.eclipse.jdt.core.compiler.debug.localVariable=generate')
+ contents.append ('org.eclipse.jdt.core.compiler.debug.sourceFile=generate')
+ contents.append
('org.eclipse.jdt.core.compiler.problem.assertIdentifier=error')
+ contents.append
('org.eclipse.jdt.core.compiler.problem.enumIdentifier=error')
+ contents.append ('org.eclipse.jdt.core.compiler.source=1.6')
+
+ handle_create_file ( os.path.join(eclipse_dir, constants.settingsdir),
jdtcoreprefsfilename, contents)
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/rmdir_nonempty.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/rmdir_nonempty.py
(rev 0)
+++
workspace/bfitzpat/org.jboss.tools.py.project.converter/src/rmdir_nonempty.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,42 @@
+## {{{
http://code.activestate.com/recipes/193736/ (r1)
+""" removeall.py:
+
+ Clean up a directory tree from root.
+ The directory need not be empty.
+ The starting directory is not deleted.
+ Written by: Anand B Pillai <abpillai(a)lycos.com> """
+
+import os
+
+ERROR_STR= """Error removing %(path)s, %(error)s, %(errno)s.
"""
+debug = False
+
+def debug_msg ( message ):
+ if debug:
+ print 'Debug: ' + message
+
+def rmgeneric(path, __func__):
+
+ try:
+ __func__(path)
+ debug_msg ('Removed : ' + path)
+ except OSError, (errno, strerror):
+ print ERROR_STR % {'path' : path, 'error': strerror,
'errno:': errno }
+
+def removeall(path):
+
+ if not os.path.isdir(path):
+ return
+
+ files=os.listdir(path)
+
+ for x in files:
+ fullpath=os.path.join(path, x)
+ if os.path.isfile(fullpath):
+ f=os.remove
+ rmgeneric(fullpath, f)
+ elif os.path.isdir(fullpath):
+ removeall(fullpath)
+ f=os.rmdir
+ rmgeneric(fullpath, f)
+## end of
http://code.activestate.com/recipes/193736/ }}}
Added: workspace/bfitzpat/org.jboss.tools.py.project.converter/src/utils.py
===================================================================
--- workspace/bfitzpat/org.jboss.tools.py.project.converter/src/utils.py
(rev 0)
+++ workspace/bfitzpat/org.jboss.tools.py.project.converter/src/utils.py 2010-11-19
17:47:14 UTC (rev 26781)
@@ -0,0 +1,19 @@
+'''
+Created on Nov 18, 2010
+
+@author: bfitzpat
+'''
+
+import os
+
+def does_file_exist(path, file):
+ fpath = os.path.join(path, file)
+ try:
+ if os.path.isfile(fpath):
+ return True
+ except OSError:
+ return False
+
+def writeline(file, line):
+ file.write(line)
+ file.write('\n')