def main(): # get some settings from setting file settings = SettingFileReader() defaultOutput = settings.getSetting("defaultSettings", "output") defaultWidth = settings.getSetting("defaultSettings", "width") defaultFramerate = settings.getSetting("defaultSettings", "framerate") defaultBitrateKb = settings.getSetting("defaultSettings", "bitratekb") description = "Compose a timelapse movie from a sequence of jpg images" #parser = argparse.ArgumentParser(description=description) parser = GooeyParser(description=description) parser.add_argument('-input', required=True, type=argparse.FileType('r'), help='A jpeg file from the sequence' , widget="FileChooser") parser.add_argument('-output', required=False, default=defaultOutput, help='Output sequence file name (default : ' + defaultOutput + ')' ) parser.add_argument('-width', required=False, default=defaultWidth, type=int, help='With of the output sequence (default : ' + str(defaultWidth) + ')' ) parser.add_argument('-height', required=False, type=int, help='height of the output sequence (default : keeps proportion to width)' ) parser.add_argument('-framerate', required=False, default=defaultFramerate, type=int, help='Framerate of the output sequence (default : ' + str(defaultFramerate) + ')' ) parser.add_argument('-bitrate', required=False, default=1920, type=int, help='Bitrate of the output sequence in kb/s (default : ' + str(defaultBitrateKb) + 'kb/s)' ) args = parser.parse_args() print args.input.name print args.output print args.width print args.height print args.framerate print args.bitrate
def __init__(self, FirstRawImage): # guessing the raw extension from the first image self._rawExtension = os.path.splitext(os.path.basename(FirstRawImage))[1] # guessing the input folder from the first image self._imageFolder = os.path.dirname(FirstRawImage) self._xmpBaseList = [] self._xmpDictionary = {} self._xmpMatrixFileName = self._imageFolder + os.sep + self._xmpMatrixFileName self._settingCouples = [] settings = SettingFileReader() self._settingCouples = settings.getItems('rawDevSettings')
def main(): # get some settings from setting file settings = SettingFileReader() defaultOutput = settings.getSetting("defaultSettings", "output") defaultWidth = settings.getSetting("defaultSettings", "width") defaultFramerate = settings.getSetting("defaultSettings", "framerate") defaultBitrateKb = settings.getSetting("defaultSettings", "bitratekb") description = "Download tracks and playlists from Youtube." #parser = argparse.ArgumentParser(description=description) parser = GooeyParser(description=description) parser.add_argument('-output', required=True, help='Folder to save the tracks' , widget="DirChooser") parser.add_argument('-track', required=False, default=None, help='Youtube track ID' ) parser.add_argument('-playlist', required=False, default=None, help='Youtube playlist ID' ) parser.add_argument('-audio', action="store_true", default=False, help="Download only the audio part (usualy m4a format)") args = parser.parse_args() # the user must have chosen between a track and a Playlist. # Though none of them is mandatory, so we have to check. if(not args.track and not args.playlist): print("[ERROR] You must fill at least one of those fields:\n\t- Track - to download a single track\n\t- Playlist - to download a entire playlist") else: pw = PafyWrapper() # download a track if(args.track): try: pw.downloadTrack(args.track, path=args.output, audio=args.audio) except ValueError as e: print("[INVALID URL]" + e) if(args.playlist): #try: print(args.playlist) pw.downloadPlaylist(args.playlist, path=args.output, audio=args.audio)
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. ''' import sys import os from SettingFileReader import * # main if __name__ == '__main__': # gives priority to local libs sys.path.insert(0, "./lib/python") # cleaning terminal os.system('cls' if os.name == 'nt' else 'clear') print( "\n------------------------ BLANK_PY -----------------------------------------\n" ) # loading a setting from the setting file settings = SettingFileReader() someSetting = settings.getSetting("group2", "param1") print(someSetting) # you want to update a param in the setting.ini file? no problem settings.setSetting("group2", "param3", "leParam3")
return datetime.datetime.now().strftime("%Y-%m-%dT%H-%M") # main if __name__ == '__main__': # cleaning terminal os.system('cls' if os.name == 'nt' else 'clear') print("\n------------------------ Mapbox Downloader -------------------------------------\n") print("Reading settings...") # loading a setting from the setting file settings = SettingFileReader() # get geobox boundaries west = settings.getSetting("geobox", "west") south = settings.getSetting("geobox", "south") east = settings.getSetting("geobox", "east") north = settings.getSetting("geobox", "north") # get other param resolution = settings.getSetting("image", "resolutionFactor") skin = settings.getSetting("image", "skin") zoom = settings.getSetting("image", "zoom") # get files and folder temporaryFolder = settings.getSetting("files", "temporaryFolder")
def main(): # get some settings from setting file settings = SettingFileReader() siteLocation = settings.getSetting("blogSettings", "siteLocation") defaultAuthor = settings.getSetting("blogSettings", "defaultAuthor") defaultThumbs = settings.getSetting("blogSettings", "defaultThumbs").split() randomThumb = random.choice(defaultThumbs) description = "Prepares a new post for a Jekyll blog.\nversion: " + str(__version__) + "\n" #parser = argparse.ArgumentParser(description=description) parser = argparse.ArgumentParser(description=description) # mendatory parser.add_argument('-title', required=False, help='The title of the blog post') parser.add_argument('-thumb', required=False, default=randomThumb, help='Top image, will be copied into the /img/ blog folder. Can be local or start by http' ) # optional parser.add_argument('-url', required=False, default=None, help='Default : blog title with dash') parser.add_argument('-images', required=False, default=None, help='One or more images to include in the post', nargs='*') parser.add_argument('-author', required=False, default=defaultAuthor, help='Default : ' + defaultAuthor) parser.add_argument('-background', required=False, default=None, help='Backgound image, will be copied into the /img/ blog folder' ) parser.add_argument('-toc', required=False, action='store_true', help='Adds the Table Of Content' ) parser.add_argument('-draft', required=False, action='store_true', help='Place it in the _draft folder (not published)' ) parser.add_argument('--version', action='version', version=str(__version__)) args = parser.parse_args() todayPrefix = datetime.date.today().strftime('%Y-%m-%d') todayFolder = datetime.date.today().strftime('%Y/%m/%d') imagesToWrite = "" imageLocalAddress = "" # adding all the other images if(args.images): for img in args.images: if(img.startswith("http")): tmpImage = img # the image is local else: tmpImage = "../img/" + todayFolder + "/" + os.path.basename(img) localDestFolder = siteLocation + os.sep + "img" + os.sep + todayFolder if(not os.path.exists(localDestFolder)): os.makedirs(localDestFolder) imageLocalAddress = imageLocalAddress + "img/" + todayFolder + "/" + os.path.basename(img) + "\n" shutil.copyfile(img, localDestFolder + os.sep + os.path.basename(img)) imagesToWrite = imagesToWrite + "![](" + tmpImage + ")\n" # if we just wanted to copy some picture, and not to create a whole article if(not args.title): print("--------------------------------------------------------------------------------") print("Image sucessfully written in Jekyll blog subdir:") print(imageLocalAddress) print("--------------------------------------------------------------------------------") print("Markdown integration code:") print imagesToWrite #print("--------------------------------------------------------------------------------") exit() # quiting when title is missing if(not args.title): print("ERROR : you should use the -title argument to create a new article") print("or use -image to just copy images.") print("use -help for other options.") exit() # copying the main image to img/ subfolder # the image is distant if(args.thumb.startswith("http")): thumb = args.thumb # the image is local else: thumb = "../img/" + todayFolder + "/" + os.path.basename(args.thumb) localDestFolder = siteLocation + os.sep + "img" + os.sep + todayFolder if(not os.path.exists(localDestFolder)): os.makedirs(localDestFolder) shutil.copyfile(args.thumb, localDestFolder + os.sep + os.path.basename(args.thumb)) # copying the background if becessary if(args.background): # the image is distant if(args.background.startswith("http")): background = args.background # the image is local else: background = "../img/" + todayFolder + "/" + os.path.basename(args.background) localDestFolder = siteLocation + os.sep + "img" + os.sep + todayFolder if(not os.path.exists(localDestFolder)): os.makedirs(localDestFolder) shutil.copyfile(args.background, localDestFolder + os.sep + os.path.basename(args.background)) else: background = None yamlHeader = "---\n" yamlHeader = yamlHeader + "layout : post\n" yamlHeader = yamlHeader + "date : " + todayPrefix + "\n" yamlHeader = yamlHeader + "title : " + args.title + "\n" yamlHeader = yamlHeader + "thumb : " + thumb + "\n" yamlHeader = yamlHeader + "backgrounds : " + str(background) + "\n" yamlHeader = yamlHeader + "show_tags : false\n" yamlHeader = yamlHeader + "show_categories : false\n" yamlHeader = yamlHeader + "excerpt : \"this is the excerpt\"\n" yamlHeader = yamlHeader + "author : \"" + args.author + "\"\n" yamlHeader = yamlHeader + "---\n\n" if(args.toc): yamlHeader = yamlHeader + "* TOC\n" yamlHeader = yamlHeader + "{:toc}\n\n" # writing images yamlHeader = yamlHeader + imagesToWrite # saving the markdown file if(args.draft): draftpath = siteLocation + os.sep + "_draft" if(not os.path.exists(draftpath)): os.makedirs(draftpath) filename = draftpath + os.sep + todayPrefix + "-" else: filename = siteLocation + os.sep + "_posts" + os.sep + todayPrefix + "-" if(args.url): filename = filename + args.url.replace(" ", "-") else: filename = filename + args.title.replace(" ", "-") filename = filename + ".md" file = open(filename, "w") file.write(yamlHeader) file.close() print("\nSucessfully written at:") print(filename) print("--------------------------------------------------------------------------------") print(" Post content\n") print yamlHeader print("--------------------------------------------------------------------------------")
def main(): # get some default settings from setting file settings = SettingFileReader() defaultOutput = settings.getSetting("defaultSettings", "output") defaultWidth = settings.getSetting("defaultSettings", "width") defaultFramerate = settings.getSetting("defaultSettings", "framerate") defaultBitrateKb = settings.getSetting("defaultSettings", "bitratekb") description = settings.getSetting("defaultSettings", "description") codecList = ["libx264", "mpeg4", "rawvideo", "png", "libvorbis", "libvpx"] codecDesc = ["libx264 : default codec, lossy compression", "mpeg4 : higher quality", "rawvideo : perfect quality, huge size ", "png : perfect quality, reasonable size", "libvorbis : good quality, rare codec ", "libvpx : good for the Web"] codecExt = [".mp4", ".mp4", ".avi", ".avi", ".ogv", ".webm"] # dealing with the parser parser = GooeyParser(description=description) parser.add_argument('-input', required=True, type=argparse.FileType('r'), help='A jpeg file from the sequence' , widget="FileChooser") parser.add_argument('-output', required=False, default=defaultOutput, help='Output sequence file name (default : ' + defaultOutput + '). The file will be saved in the input folder.' ) parser.add_argument('-codec', choices=codecList, help=" - ".join(codecDesc) + " (default : libx264)", default=codecList[0]) parser.add_argument('-width', required=False, default=defaultWidth, type=int, help='Width of the output sequence in pixels (default : ' + str(defaultWidth) + ')' ) parser.add_argument('-height', required=False, type=int, help='height of the output sequence in pixels (default : keeps proportions to width)' ) parser.add_argument('-framerate', required=False, default=defaultFramerate, type=int, help='Number of frame per second of the output sequence (default : ' + str(defaultFramerate) + ')' ) parser.add_argument('-bitrate', required=False, default=defaultBitrateKb, type=int, help='Bitrate of the output sequence in kb/s (default : ' + str(defaultBitrateKb) + 'kb/s). Only compatible with libx264 codec.' ) args = parser.parse_args() ''' print args.input.name print args.output print args.width print args.height print args.framerate print args.bitrate print args.codec ''' # getting all the jpg from this folder imgFolder = Utils.getFolderName(args.input.name) imgExt = Utils.getFileExt(args.input.name) print("Folder :") print("\t" + imgFolder + "\n") print("Image extension :") print("\t" + imgExt + "\n") print("Looking for files...") # looking for files jpgList = sorted(glob.glob( imgFolder + os.sep + '*' + imgExt)) print("\t" + str(len(jpgList)) + " files where found.\n") if(len(jpgList) == 0): print("ERROR : unable to continue, 0 image files where found.") exit() # importing moviepy try: from moviepy.editor import * # getting codec info codecIndex = codecList.index(args.codec) outputExtension = codecExt[codecIndex] outputFile = imgFolder + os.sep + args.output + outputExtension print("Codec :") print("\t" + args.codec + "\n") print("output file :") print("\t" + outputFile + "\n") tl = ImageSequenceClip(jpgList, fps=args.framerate) # dealing with image proportions if(args.height): tlhd = tl.resize(width=args.width, height=args.height) else: tlhd = tl.resize(width=args.width) bitrate = str(args.bitrate * 1024) a = datetime.datetime.now() tlhd.write_videofile(outputFile, codec=args.codec , fps=args.framerate, bitrate=bitrate, threads=2, write_logfile=True) b = datetime.datetime.now() print("Processing time : " + str( (b-a).seconds) + " seconds") # iport failled except ImportError: print("ERROR : impossible to import Moviepy module.")
# main if __name__ == '__main__': # cleaning terminal os.system('cls' if os.name == 'nt' else 'clear') print( "\n------------------------ Mapbox Downloader -------------------------------------\n" ) print("Reading settings...") # loading a setting from the setting file settings = SettingFileReader() # get geobox boundaries west = settings.getSetting("geobox", "west") south = settings.getSetting("geobox", "south") east = settings.getSetting("geobox", "east") north = settings.getSetting("geobox", "north") # get other param resolution = settings.getSetting("image", "resolutionFactor") originalSkin = settings.getSetting("image", "skin") zoom = settings.getSetting("image", "zoom") abspath = os.path.abspath(os.path.dirname(__file__)) + "/../" skin = abspath + "temp/" + os.path.basename( originalSkin)[0:-4] + "_" + str(int(time.time())) + ".tm2"
import os import math from SettingFileReader import * from Geographic import * # main if __name__ == '__main__': # cleaning terminal os.system('cls' if os.name == 'nt' else 'clear') print("\n------------------------ GpxStack -----------------------------------------\n") settings = SettingFileReader() print settings.getAutoGeoBox() print settings.getNorthBorder() print settings.getSouthBorder() print settings.getWestBorder() print settings.getEastBorder() print settings.getPixelPerDegree() print settings.getStrokeWidth() print settings.getStrokeColor() geox = Geographic() geox.setGpxFile("")