本文整理汇总了Python中exe.engine.path.Path.copyfile方法的典型用法代码示例。如果您正苦于以下问题:Python Path.copyfile方法的具体用法?Python Path.copyfile怎么用?Python Path.copyfile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类exe.engine.path.Path
的用法示例。
在下文中一共展示了Path.copyfile方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
def main():
if len(sys.argv) < 2:
print 'Usage: %s [version] [--install] [--local|username password]' % sys.argv[0]
print 'Where [version] is the branch you want to checkout'
print 'and username and password are for your eduforge account'
print 'Eg. %s 0.7 --local' % sys.argv[0]
else:
version = sys.argv[1]
branch = 'http://exe.cfdl.auckland.ac.nz/svn/exe/branches/%s' % version
origDir = Path(sys.argv[0]).abspath().dirname()
tmp = TempDirPath()
os.chdir(tmp)
os.system('svn export %s exe' % branch)
(origDir/'../../exe/webui/firefox').copytree(tmp/'exe/exe/webui/firefox')
os.chdir(tmp/'exe')
tarball = Path('../exe-%s-source.tgz' % version).abspath()
os.system('tar czf %s *' % tarball)
os.chdir(tmp)
if '--local' not in sys.argv:
try:
from paramiko import Transport
except ImportError:
print 'To upload you need to install paramiko python library from:'
print 'http://www.lag.net/paramiko'
sys.exit(2)
from socket import socket, gethostbyname
s = socket()
s.connect((gethostbyname('shell.eduforge.org'), 22))
t = Transport(s)
t.connect()
t.auth_password(sys.argv[-2], sys.argv[-1])
f = t.open_sftp_client()
f.chdir('/home/pub/exe')
f.put(tarball.encode('utf8'), tarball.basename().encode('utf8'))
if os.getuid() == 0:
tarball.copyfile('/usr/portage/distfiles/' + tarball.basename())
os.chdir(tmp/'exe/installs/gentoo')
newEbuildFilename = Path('exe-%s.ebuild' % version).abspath()
if not newEbuildFilename.exists():
Path('exe-0.7.ebuild').copy(newEbuildFilename)
if os.getuid() == 0:
ebuildDir = Path('/usr/local/portage/dev-python/exe')
if ebuildDir.exists():
ebuildDir.rmtree()
ebuildDir.makedirs()
os.chdir(ebuildDir)
newEbuildFilename.copy(ebuildDir)
filesDir = ebuildDir/'files'
filesDir.makedirs()
Path(tmp/'exe/installs/gentoo/all-config.patch').copy(filesDir)
if '--local' not in sys.argv:
oldTarball = Path('/usr/portage/distfiles/')/tarball.basename()
if oldTarball.exists():
oldTarball.remove()
os.environ['GENTOO_MIRRORS']=''
os.system('ebuild %s fetch' % newEbuildFilename.basename())
os.system('ebuild %s manifest' % newEbuildFilename.basename())
os.system('ebuild %s digest' % newEbuildFilename.basename())
if '--install' in sys.argv:
os.system('ebuild %s install' % newEbuildFilename.basename())
示例2: compruebaReproductores
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
def compruebaReproductores(self, node):
"""
Comprobamos si hay que meter algun reproductor
"""
# copy players for media idevices.
hasFlowplayer = False
hasMagnifier = False
hasXspfplayer = False
hasGallery = False
hasFX = False
hasSH = False
hasGames = False
hasElpLink = False
hasWikipedia = False
hasInstructions = False
hasMediaelement = False
hasTooltips = False
hasABCMusic = False
listIdevicesFiles = []
for idevice in node.idevices:
if (hasFlowplayer and hasMagnifier and hasXspfplayer and hasGallery and hasFX and hasSH and hasGames and hasElpLink and hasWikipedia and hasInstructions and hasMediaelement and hasTooltips and hasABCMusic):
break
if not hasFlowplayer:
if 'flowPlayer.swf' in idevice.systemResources:
hasFlowplayer = True
if not hasMagnifier:
if 'mojomagnify.js' in idevice.systemResources:
hasMagnifier = True
if not hasXspfplayer:
if 'xspf_player.swf' in idevice.systemResources:
hasXspfplayer = True
if not hasGallery:
hasGallery = common.ideviceHasGallery(idevice)
if not hasFX:
hasFX = common.ideviceHasFX(idevice)
if not hasSH:
hasSH = common.ideviceHasSH(idevice)
if not hasGames:
hasGames = common.ideviceHasGames(idevice)
if not hasElpLink:
hasElpLink = common.ideviceHasElpLink(idevice,self.page.node.package)
if not hasWikipedia:
if 'WikipediaIdevice' == idevice.klass:
hasWikipedia = True
if not hasInstructions:
if 'TrueFalseIdevice' == idevice.klass or 'MultichoiceIdevice' == idevice.klass or 'VerdaderofalsofpdIdevice' == idevice.klass or 'EleccionmultiplefpdIdevice' == idevice.klass:
hasInstructions = True
if not hasMediaelement:
hasMediaelement = common.ideviceHasMediaelement(idevice)
if not hasTooltips:
hasTooltips = common.ideviceHasTooltips(idevice)
if not hasABCMusic:
hasABCMusic = common.ideviceHasABCMusic(idevice)
if hasattr(idevice, "_iDeviceDir"):
listIdevicesFiles.append((Path(idevice._iDeviceDir)/'export'))
if hasFlowplayer:
videofile = (self.templatesDir/'flowPlayer.swf')
videofile.copyfile(self.outputDir/'flowPlayer.swf')
controlsfile = (self.templatesDir/'flowplayer.controls.swf')
controlsfile.copyfile(self.outputDir/'flowplayer.controls.swf')
if hasMagnifier:
videofile = (self.templatesDir/'mojomagnify.js')
videofile.copyfile(self.outputDir/'mojomagnify.js')
if hasXspfplayer:
videofile = (self.templatesDir/'xspf_player.swf')
videofile.copyfile(self.outputDir/'xspf_player.swf')
if hasGallery:
exeLightbox = (self.scriptsDir/'exe_lightbox')
exeLightbox.copyfiles(self.outputDir)
if hasFX:
exeEffects = (self.scriptsDir/'exe_effects')
exeEffects.copyfiles(self.outputDir)
if hasSH:
exeSH = (self.scriptsDir/'exe_highlighter')
exeSH.copyfiles(self.outputDir)
if hasGames:
exeGames = (self.scriptsDir/'exe_games')
exeGames.copyfiles(self.outputDir)
# Add game js string to common_i18n
langGameFile = open(self.outputDir + '/common_i18n.js', "a")
langGameFile.write(common.getGamesJavaScriptStrings(False))
langGameFile.close()
if hasElpLink or self.page.node.package.get_exportElp():
# Export the elp file
currentPackagePath = Path(self.page.node.package.filename)
currentPackagePath.copyfile(self.outputDir/self.page.node.package.name+'.elp')
if hasWikipedia:
wikipediaCSS = (self.cssDir/'exe_wikipedia.css')
wikipediaCSS.copyfile(self.outputDir/'exe_wikipedia.css')
if hasInstructions:
common.copyFileIfNotInStyle('panel-amusements.png', self, self.outputDir)
common.copyFileIfNotInStyle('stock-stop.png', self, self.outputDir)
if hasMediaelement:
mediaelement = (self.scriptsDir/'mediaelement')
mediaelement.copyfiles(self.outputDir)
dT = common.getExportDocType()
if dT != "HTML5":
#.........这里部分代码省略.........
示例3: export
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
def export(self, package):
"""
Export SCORM package
"""
# First do the export to a temporary directory
outputDir = TempDirPath()
self.metadataType = package.exportMetadataType
# Copy the style files to the output dir
# But not nav.css
styleFiles = [self.styleDir/'..'/'popup_bg.gif']
styleFiles += self.styleDir.files("*.*")
if "nav.css" in styleFiles:
styleFiles.remove("nav.css")
self.styleDir.copylist(styleFiles, outputDir)
# copy the package's resource files
for resourceFile in package.resourceDir.walkfiles():
file = package.resourceDir.relpathto(resourceFile)
if ("/" in file):
Dir = Path(outputDir/file[:file.rindex("/")])
if not Dir.exists():
Dir.makedirs()
resourceFile.copy(outputDir/Dir)
else:
resourceFile.copy(outputDir)
listCSSFiles=getFilesCSSToMinify('ims', self.styleDir)
exportMinFileCSS(listCSSFiles, outputDir)
# Export the package content
self.pages = [ IMSPage("index", 1, package.root,
metadataType=self.metadataType) ]
self.generatePages(package.root, 2)
uniquifyNames(self.pages)
for page in self.pages:
page.save(outputDir, self.pages)
# Create the manifest file
manifest = Manifest(self.config, outputDir, package, self.pages, self.metadataType)
manifest.save("imsmanifest.xml")
# Create lang file
langGameFile = open(outputDir + '/common_i18n.js', "w")
langGameFile.write(common.getJavaScriptStrings(False))
langGameFile.close()
# jQuery
my_style = G.application.config.styleStore.getStyle(page.node.package.style)
if my_style.hasValidConfig:
if my_style.get_jquery() == True:
jsFile = (self.scriptsDir/'exe_jquery.js')
jsFile.copyfile(outputDir/'exe_jquery.js')
else:
jsFile = (self.scriptsDir/'exe_jquery.js')
jsFile.copyfile(outputDir/'exe_jquery.js')
dT = common.getExportDocType()
if dT == "HTML5":
jsFile = (self.scriptsDir/'exe_html5.js')
jsFile.copyfile(outputDir/'exe_html5.js')
listFiles=getFilesJSToMinify('ims', self.scriptsDir)
exportMinFileJS(listFiles, outputDir)
self.schemasDir.copylist(('imscp_v1p1.xsd',
'imsmd_v1p2p2.xsd',
'lom.xsd',
'lomCustom.xsd',
'ims_xml.xsd'), outputDir)
# copy players for media idevices.
hasFlowplayer = False
hasMagnifier = False
hasXspfplayer = False
hasGallery = False
hasFX = False
hasSH = False
hasGames = False
hasElpLink = False
hasWikipedia = False
isBreak = False
hasInstructions = False
hasMediaelement = False
hasTooltips = False
hasABCMusic = False
listIdevicesFiles = []
for page in self.pages:
if isBreak:
break
for idevice in page.node.idevices:
if (hasFlowplayer and hasMagnifier and hasXspfplayer and hasGallery and hasFX and hasSH and hasGames and hasElpLink and hasWikipedia and hasInstructions and hasMediaelement and hasTooltips and hasABCMusic):
#.........这里部分代码省略.........
示例4: copyFiles
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
def copyFiles(self, package, outputDir):
"""
Copy all the files used by the website.
"""
if os.path.isdir(self.stylesDir):
# Copy the style files to the output dir
styleFiles = [self.stylesDir/'..'/'popup_bg.gif']
styleFiles += self.stylesDir.files("*.*")
self.stylesDir.copylist(styleFiles, outputDir)
# copy the package's resource files
for resourceFile in package.resourceDir.walkfiles():
file = package.resourceDir.relpathto(resourceFile)
if ("/" in file):
Dir = Path(outputDir/file[:file.rindex("/")])
if not Dir.exists():
Dir.makedirs()
resourceFile.copy(outputDir/Dir)
else:
resourceFile.copy(outputDir)
listCSSFiles=getFilesCSSToMinify('website', self.stylesDir)
exportMinFileCSS(listCSSFiles, outputDir)
# copy script files.
my_style = G.application.config.styleStore.getStyle(package.style)
# jQuery
listFiles=[]
listOutFiles=[]
if my_style.hasValidConfig:
if my_style.get_jquery() == True:
jsFile = (self.scriptsDir/'exe_jquery.js')
jsFile.copyfile(outputDir/'exe_jquery.js')
else:
listFiles+=[self.scriptsDir/'exe_jquery.js']
listOutFiles+=[outputDir/'exe_jquery.js']
# Minify common.js file
listFiles=getFilesJSToMinify('website', self.scriptsDir)
exportMinFileJS(listFiles, outputDir)
# Create lang file
langFile = open(outputDir + '/common_i18n.js', "w")
langFile.write(common.getJavaScriptStrings(False))
langFile.close()
#dT = common.getExportDocType()
dT=common.getExportDocType();
if dT == "HTML5":
jsFile = (self.scriptsDir/'exe_html5.js')
jsFile.copyfile(outputDir/'exe_html5.js')
# Incluide eXe's icon if the Style doesn't have one
themePath = Path(G.application.config.stylesDir/package.style)
themeFavicon = themePath.joinpath("favicon.ico")
if not themeFavicon.exists():
faviconFile = (self.imagesDir/'favicon.ico')
faviconFile.copyfile(outputDir/'favicon.ico')
# copy players for media idevices.
hasFlowplayer = False
hasMagnifier = False
hasXspfplayer = False
hasGallery = False
hasFX = False
hasSH = False
hasGames = False
hasElpLink = False
hasWikipedia = False
isBreak = False
hasInstructions = False
hasMediaelement = False
hasTooltips = False
hasABCMusic = False
listIdevicesFiles = []
for page in self.pages:
if isBreak:
break
for idevice in page.node.idevices:
if (hasFlowplayer and hasMagnifier and hasXspfplayer and hasGallery and hasFX and hasSH and hasGames and hasElpLink and hasWikipedia and hasInstructions and hasMediaelement and hasTooltips and hasABCMusic):
isBreak = True
break
if not hasFlowplayer:
if 'flowPlayer.swf' in idevice.systemResources:
hasFlowplayer = True
if not hasMagnifier:
if 'mojomagnify.js' in idevice.systemResources:
hasMagnifier = True
if not hasXspfplayer:
if 'xspf_player.swf' in idevice.systemResources:
hasXspfplayer = True
if not hasGallery:
hasGallery = common.ideviceHasGallery(idevice)
if not hasFX:
hasFX = common.ideviceHasFX(idevice)
if not hasSH:
#.........这里部分代码省略.........
示例5: export
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
def export(self, package):
"""
Export SCORM package
"""
# First do the export to a temporary directory
outputDir = TempDirPath()
self.metadataType = package.exportMetadataType
# copy the package's resource files
for resourceFile in package.resourceDir.walkfiles():
file = package.resourceDir.relpathto(resourceFile)
if ("/" in file):
Dir = Path(outputDir/file[:file.rindex("/")])
if not Dir.exists():
Dir.makedirs()
resourceFile.copy(outputDir/Dir)
else:
resourceFile.copy(outputDir)
# copy the package's resource files, only non existant in outputDir
# outputDirFiles = outputDir.files()
# for rfile in package.resourceDir.files():
# if rfile not in outputDirFiles:
# rfile.copy(outputDir)
# copy the package's resource files, only indexed in package.resources
# for md5 in package.resources.values():
# for resource in md5:
# resource.path.copy(outputDir)
# Export the package content
# Import the Scorm Page class , if the secure mode is off. If the style has it's own page class
# use that, else use the default one.
if self.styleSecureMode=="0":
if (self.styleDir/"scormpage.py").exists():
global ScormPage
module = imp.load_source("ScormPage",self.styleDir/"scormpage.py")
ScormPage = module.ScormPage
self.pages = [ ScormPage("index", 1, package.root,
scormType=self.scormType, metadataType=self.metadataType) ]
self.generatePages(package.root, 2)
uniquifyNames(self.pages)
for page in self.pages:
page.save(outputDir, self.pages)
if not self.hasForum:
for idevice in page.node.idevices:
if hasattr(idevice, "isForum"):
if idevice.forum.lms.lms == "moodle":
self.hasForum = True
break
# Create the manifest file
manifest = Manifest(self.config, outputDir, package, self.pages, self.scormType, self.metadataType)
modifiedMetaData = manifest.save("imsmanifest.xml")
# Create lang file
langFile = open(outputDir + '/common_i18n.js', "w")
langFile.write(common.getJavaScriptStrings(False))
langFile.close()
if self.hasForum:
manifest.save("discussionforum.xml")
# Copy the style files to the output dir
styleFiles = [self.styleDir/'..'/'popup_bg.gif']
# And with all the files of the style we avoid problems:
styleFiles += self.styleDir.files("*.*")
if self.scormType == "commoncartridge":
for sf in styleFiles[:]:
if sf.basename() not in manifest.dependencies:
styleFiles.remove(sf)
self.styleDir.copylist(styleFiles, outputDir)
listCSSFiles=getFilesCSSToMinify('scorm', self.styleDir)
exportMinFileCSS(listCSSFiles, outputDir)
# Copy the scripts
dT = common.getExportDocType()
if dT == "HTML5":
#listFiles+=[self.scriptsDir/'exe_html5.js']
#listOutFiles+=[outputDir/'exe_html5.js']
jsFile = (self.scriptsDir/'exe_html5.js')
jsFile.copyfile(outputDir/'exe_html5.js')
# jQuery
my_style = G.application.config.styleStore.getStyle(page.node.package.style)
if my_style.hasValidConfig:
if my_style.get_jquery() == True:
#listFiles+=[self.scriptsDir/'exe_jquery.js']
#listOutFiles+=[outputDir/'exe_jquery.js']
#.........这里部分代码省略.........
示例6: export
# 需要导入模块: from exe.engine.path import Path [as 别名]
# 或者: from exe.engine.path.Path import copyfile [as 别名]
#.........这里部分代码省略.........
if 'flowPlayer.swf' in idevice.systemResources:
hasFlowplayer = True
if not hasMagnifier:
if 'mojomagnify.js' in idevice.systemResources:
hasMagnifier = True
if not hasXspfplayer:
if 'xspf_player.swf' in idevice.systemResources:
hasXspfplayer = True
if not hasGallery:
hasGallery = common.ideviceHasGallery(idevice)
if not hasFX:
hasFX = common.ideviceHasFX(idevice)
if not hasSH:
hasSH = common.ideviceHasSH(idevice)
if not hasGames:
hasGames = common.ideviceHasGames(idevice)
if not hasElpLink:
hasElpLink = common.ideviceHasElpLink(idevice,package)
if not hasWikipedia:
if 'WikipediaIdevice' == idevice.klass:
hasWikipedia = True
if not hasInstructions:
if 'TrueFalseIdevice' == idevice.klass or 'MultichoiceIdevice' == idevice.klass or 'VerdaderofalsofpdIdevice' == idevice.klass or 'EleccionmultiplefpdIdevice' == idevice.klass:
hasInstructions = True
if not hasTooltips:
hasTooltips = common.ideviceHasTooltips(idevice)
if not hasABCMusic:
hasABCMusic = common.ideviceHasABCMusic(idevice)
common.exportJavaScriptIdevicesFiles(page.node.idevices, contentPages);
if hasFlowplayer:
videofile = (self.templatesDir / 'flowPlayer.swf')
videofile.copyfile(contentPages / 'flowPlayer.swf')
controlsfile = (self.templatesDir / 'flowplayer.controls.swf')
controlsfile.copyfile(contentPages / 'flowplayer.controls.swf')
if hasMagnifier:
videofile = (self.templatesDir / 'mojomagnify.js')
videofile.copyfile(contentPages / 'mojomagnify.js')
if hasXspfplayer:
videofile = (self.templatesDir / 'xspf_player.swf')
videofile.copyfile(contentPages / 'xspf_player.swf')
if hasGallery:
exeLightbox = (self.scriptsDir / 'exe_lightbox')
exeLightbox.copyfiles(contentPages)
if hasFX:
exeEffects = (self.scriptsDir / 'exe_effects')
exeEffects.copyfiles(contentPages)
if hasSH:
exeSH = (self.scriptsDir / 'exe_highlighter')
exeSH.copyfiles(contentPages)
if hasGames:
exeGames = (self.scriptsDir / 'exe_games')
exeGames.copyfiles(contentPages)
# Add game js string to common_i18n
langGameFile = open(contentPages + '/common_i18n.js', "a")
langGameFile.write(common.getGamesJavaScriptStrings(False))
langGameFile.close()
if hasElpLink or package.get_exportElp():
# Export the elp file
currentPackagePath = Path(package.filename)
currentPackagePath.copyfile(contentPages/package.name+'.elp')
if hasWikipedia:
wikipediaCSS = (self.cssDir / 'exe_wikipedia.css')
wikipediaCSS.copyfile(contentPages / 'exe_wikipedia.css')
if hasInstructions: