本文整理汇总了Python中utils.get_hidden_user_dir_path函数的典型用法代码示例。如果您正苦于以下问题:Python get_hidden_user_dir_path函数的具体用法?Python get_hidden_user_dir_path怎么用?Python get_hidden_user_dir_path使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_hidden_user_dir_path函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load
def load():
"""
If docs fail to load, new ones are created and saved.
"""
prefs_file_path = utils.get_hidden_user_dir_path() + PREFS_DOC
recents_file_path = utils.get_hidden_user_dir_path() + RECENT_DOC
global prefs, recent_projects
try:
f = open(prefs_file_path)
prefs = pickle.load(f)
except:
prefs = EditorPreferences()
write_file = file(prefs_file_path, "wb")
pickle.dump(prefs, write_file)
try:
f = open(recents_file_path)
recent_projects = pickle.load(f)
except:
recent_projects = utils.EmptyClass()
recent_projects.projects = []
write_file = file(recents_file_path, "wb")
pickle.dump(recent_projects, write_file)
# version of program may have different prefs objects and
# we may need to to update prefs on disk if user has e.g.
# installed later version of Flowblade
current_prefs = EditorPreferences()
if len(prefs.__dict__) != len(current_prefs.__dict__):
current_prefs.__dict__.update(prefs.__dict__)
prefs = current_prefs
write_file = file(prefs_file_path, "wb")
pickle.dump(prefs, write_file)
print "prefs updated to new version, new param count:", len(prefs.__dict__)
示例2: load
def load():
"""
If docs fail to load, new ones are created and saved.
"""
prefs_file_path = utils.get_hidden_user_dir_path() + PREFS_DOC
recents_file_path = utils.get_hidden_user_dir_path() + RECENT_DOC
global prefs, recent_projects
try:
f = open(prefs_file_path)
prefs = pickle.load(f)
except:
prefs = EditorPreferences()
write_file = file(prefs_file_path, "wb")
pickle.dump(prefs, write_file)
# Override deprecated preferences to default values.
prefs.delta_overlay = True
prefs.auto_play_in_clip_monitor = False
prefs.empty_click_exits_trims = True
prefs.quick_enter_trims = True
prefs.remember_monitor_clip_frame = True
try:
f = open(recents_file_path)
recent_projects = pickle.load(f)
except:
recent_projects = utils.EmptyClass()
recent_projects.projects = []
write_file = file(recents_file_path, "wb")
pickle.dump(recent_projects, write_file)
# Remove non-existing projects from recents list
remove_list = []
for proj_path in recent_projects.projects:
if os.path.isfile(proj_path) == False:
remove_list.append(proj_path)
if len(remove_list) > 0:
for proj_path in remove_list:
recent_projects.projects.remove(proj_path)
write_file = file(recents_file_path, "wb")
pickle.dump(recent_projects, write_file)
# Versions of program may have different prefs objects and
# we may need to to update prefs on disk if user has e.g.
# installed later version of Flowblade.
current_prefs = EditorPreferences()
if len(prefs.__dict__) != len(current_prefs.__dict__):
current_prefs.__dict__.update(prefs.__dict__)
prefs = current_prefs
write_file = file(prefs_file_path, "wb")
pickle.dump(prefs, write_file)
print "prefs updated to new version, new param count:", len(prefs.__dict__)
示例3: run
def run(self):
start_time = time.time()
b_switch = "-b"
w_switch = "-w"
writer = "Write1"
if self.is_preview == False:
range_str = _animation_instance.get_frame_range_str()
render_frame = _window.get_render_frame()
else:
range_str = str(_animation_instance.frame())
render_frame = utils.get_hidden_user_dir_path() + appconsts.NATRON_DIR + "/session_" + _session_id + "/preview####.png"
print render_frame
Gdk.threads_enter()
_window.preview_info.set_markup("<small>" + _("Rendering preview for frame ") + range_str + "..." + "</small>")
Gdk.threads_leave()
l_switch = "-l"
param_mod_script = respaths.ROOT_PATH + "/tools/NatronRenderModify.py"
natron_project = _animation_instance.get_project_file_path()
render_command = "NatronRenderer " + b_switch + " " + w_switch + " " + writer + " " + \
range_str + " " + render_frame + " " + l_switch + " " + param_mod_script + " " + natron_project
print "Starting Natron render, command: ", render_command
FLOG = open(utils.get_hidden_user_dir_path() + "log_natron_render", 'w')
p = subprocess.Popen(render_command, shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG)
p.wait()
FLOG.close()
if _progress_updater != None:
_progress_updater.stop_thread()
# Render complete GUI updates
Gdk.threads_enter()
if self.is_preview == False:
_window.render_percentage.set_markup("<small>" + _("Render complete.") + "</small>")
else:
render_time = time.time() - start_time
time_str = "{0:.2f}".format(round(render_time,2))
_window.preview_info.set_markup("<small>" + _("Preview for frame: ") + range_str + \
_(", render time: ") + time_str + "</small>" )
global _current_preview_surface
preview_frame_path = utils.get_hidden_user_dir_path() + appconsts.NATRON_DIR + "/session_" + _session_id + "/preview" + str(_animation_instance.frame()).zfill(4) + ".png"
_current_preview_surface = cairo.ImageSurface.create_from_png(preview_frame_path)
_window.preview_monitor.queue_draw()
Gdk.threads_leave()
print "Natron render done."
示例4: save
def save():
"""
Write out prefs and recent_projects files
"""
prefs_file_path = utils.get_hidden_user_dir_path() + PREFS_DOC
recents_file_path = utils.get_hidden_user_dir_path() + RECENT_DOC
write_file = file(prefs_file_path, "wb")
pickle.dump(prefs, write_file)
write_file = file(recents_file_path, "wb")
pickle.dump(recent_projects, write_file)
示例5: run
def run(self):
start_time = time.time()
try:
# For the case the render fails
shutil.copyfile(get_current_frame_file(), get_preview_file())
except IOError:
# No we have failed to extract a png file from source file
Gdk.threads_enter()
_window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), Gdk.RGBA(red=1.0, green=0.0, blue=0.0))
_window.out_view.get_buffer().set_text("Extracting PNG frames from this file failed!")
Gdk.threads_leave()
return
Gdk.threads_enter()
_window.preview_info.set_markup("<small>" + _("Rendering preview...") + "</small>" )
buf = _window.script_view.get_buffer()
view_text = buf.get_text(buf.get_start_iter(), buf.get_end_iter(), False)
Gdk.threads_leave()
script_str = "gmic " + get_current_frame_file() + " " + view_text + " -output " + get_preview_file()
print "Render preview:", script_str
FLOG = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'w')
p = subprocess.Popen(script_str, shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG)
p.wait()
FLOG.close()
# read log
f = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'r')
out = f.read()
f.close()
global _current_preview_surface
_current_preview_surface = cairo.ImageSurface.create_from_png(get_preview_file())
Gdk.threads_enter()
if p.returncode != 0:
_window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), Gdk.RGBA(red=1.0, green=0.0, blue=0.0))
else:
_window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), None)
_window.out_view.get_buffer().set_text(out + "Return code:" + str(p.returncode))
render_time = time.time() - start_time
time_str = "{0:.2f}".format(round(render_time,2))
_window.preview_info.set_markup("<small>" + _("Preview for frame: ") + \
utils.get_tc_string_with_fps(_player.current_frame(), _current_fps) + _(", render time: ") + time_str + "</small>" )
_window.preview_monitor.queue_draw()
Gdk.threads_leave()
示例6: set_waveform_displayer_clip_from_popup
def set_waveform_displayer_clip_from_popup(data):
clip, track, item_id, item_data = data
global frames_cache
if clip.path in frames_cache:
frame_levels = frames_cache[clip.path]
clip.waveform_data = frame_levels
return
cache_file_path = utils.get_hidden_user_dir_path() + appconsts.AUDIO_LEVELS_DIR + _get_unique_name_for_media(clip.path)
if os.path.isfile(cache_file_path):
f = open(cache_file_path)
frame_levels = pickle.load(f)
frames_cache[clip.path] = frame_levels
clip.waveform_data = frame_levels
return
progress_bar = Gtk.ProgressBar()
title = _("Audio Levels Data Render")
text = "<b>Media File: </b>" + clip.path
dialog = _waveform_render_progress_dialog(_waveform_render_abort, title, text, progress_bar, gui.editor_window.window)
dialog.progress_bar = progress_bar
global waveform_thread
waveform_thread = WaveformCreator(clip, track.height, dialog)
waveform_thread.start()
示例7: _auto_renconvert_after_proxy_render_in_proxy_mode
def _auto_renconvert_after_proxy_render_in_proxy_mode():
# Save to temp to convert to using original media
project = editorstate.PROJECT()
project.proxy_data.proxy_mode = appconsts.CONVERTING_TO_USE_ORIGINAL_MEDIA
conv_temp_project_path = utils.get_hidden_user_dir_path() + "proxy_conv.flb"
persistance.save_project(editorstate.PROJECT(), conv_temp_project_path)
project.proxy_data.proxy_mode = appconsts.USE_ORIGINAL_MEDIA
# Load saved temp original media project
persistance.show_messages = False
project = persistance.load_project(conv_temp_project_path)
# Save to temp to convert back to using proxy media
project.proxy_data.proxy_mode = appconsts.CONVERTING_TO_USE_PROXY_MEDIA
persistance.save_project(project, conv_temp_project_path)
project.proxy_data.proxy_mode = appconsts.USE_PROXY_MEDIA
# Load saved temp proxy project
project = persistance.load_project(conv_temp_project_path)
# Open saved temp project
app.stop_autosave()
gtk.gdk.threads_enter()
app.open_project(project)
gtk.gdk.threads_leave()
app.start_autosave()
editorstate.update_current_proxy_paths()
persistance.show_messages = True
示例8: launch_phantom
def launch_phantom():
respaths.PHANTOM_JAR
if _phantom_found == False:
info_row = guiutils.get_centered_box([Gtk.Label(_("Phantom2D tool has not been installed on your system."))])
link_info_row = guiutils.get_centered_box([Gtk.Label(_("Install instructions:"))])
link = Gtk.LinkButton.new("https://github.com/jliljebl/phantom2D")
link_row = guiutils.get_centered_box([link])
dir_info_row = guiutils.get_centered_box([Gtk.Label(_("Install directory for Phantom2D tool:"))])
dir_label = Gtk.Label(respaths.PHANTOM_JAR.rstrip("/Phantom2D.jar"))
dir_label.set_selectable(True)
dir_row = guiutils.get_centered_box([Gtk.Label(respaths.PHANTOM_JAR.rstrip("/Phantom2D.jar"))])
dir_row.set_margin_top(8)
panel = Gtk.VBox()
panel.pack_start(info_row, False, False, 0)
panel.pack_start(guiutils.pad_label(12, 24), False, False, 0)
panel.pack_start(link_info_row, False, False, 0)
panel.pack_start(link_row, False, False, 0)
panel.pack_start(guiutils.pad_label(12, 24), False, False, 0)
panel.pack_start(dir_info_row, False, False, 0)
panel.pack_start(dir_row, False, False, 0)
dialogutils.panel_ok_dialog(_("Phantom2D not found"), panel)
return
FLOG = open(utils.get_hidden_user_dir_path() + "log_phantom", 'w')
subprocess.Popen([str(respaths.LAUNCH_DIR + "flowbladephantom") + " " + str(respaths.PHANTOM_JAR) \
+ " profile" + " " + _get_underscored_profile() \
+ " cachefolder " + utils.get_phantom_disk_cache_folder()], shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG)
print "Phantom2D launched"
示例9: load_render_items
def load_render_items(self):
self.queue = []
self.error_status = None
user_dir = utils.get_hidden_user_dir_path()
data_files_dir = user_dir + DATAFILES_DIR
data_files = [ f for f in listdir(data_files_dir) if isfile(join(data_files_dir,f)) ]
for data_file_name in data_files:
try:
data_file_path = data_files_dir + data_file_name
data_file = open(data_file_path)
render_item = pickle.load(data_file)
self.queue.append(render_item)
except Exception as e:
if self.error_status == None:
self.error_status = []
self.error_status.append((data_file_name, _(" datafile load failed with ") + str(e)))
try:
render_file = open(render_item.get_project_filepath())
except Exception as e:
if self.error_status == None:
self.error_status = []
self.error_status.append((render_item.get_project_filepath(), _(" project file load failed with ") + str(e)))
if self.error_status != None:
for file_path, error_str in self.error_status:
identifier = get_identifier_from_path(file_path)
destroy_for_identifier(identifier)
for render_item in self.queue:
if render_item.matches_identifier(identifier):
self.queue.remove(render_item)
break
# Latest added items displayed on top
self.queue.sort(key=lambda item: item.timestamp)
self.queue.reverse()
示例10: run
def run(self):
# Refuse to render into user home folder
out_folder = _window.out_folder.get_filenames()[0] + "/"
if out_folder == (os.path.expanduser("~") + "/"):
print "home folder"
return
start_time = time.time()
# Delete old preview frames
folder = get_clip_frames_dir()
for frame_file in os.listdir(folder):
file_path = os.path.join(folder, frame_file)
os.remove(file_path)
# Render clipm frames for range
mark_in = _player.producer.mark_in
mark_out = _player.producer.mark_out
self.length = mark_out - mark_in + 1
frame_name = "frrrrame"
frames_range_writer = gmicplayer.FramesRangeWriter(_current_path, self.frames_update)
frames_range_writer.write_frames(get_clip_frames_dir() + "/", frame_name, mark_in, mark_out)
# Render effect for frames
# Get user script
Gdk.threads_enter()
buf = _window.script_view.get_buffer()
user_script = buf.get_text(buf.get_start_iter(), buf.get_end_iter(), False)
Gdk.threads_leave()
clip_frames = os.listdir(folder)
frame_count = 1
for clip_frame in clip_frames:
update_info = "Render effect frame " + str(frame_count) + "/" + str(self.length)
Gdk.threads_enter()
_window.render_percentage.set_text(update_info)
Gdk.threads_leave()
frame_count = frame_count + 1
file_numbers_list = re.findall(r'\d+', clip_frame)
filled_number_str = str(file_numbers_list[0]).zfill(3)
clip_frame_path = os.path.join(folder, clip_frame)
rendered_file_path = out_folder + frame_name + "_" + filled_number_str + ".png"
script_str = "gmic " + clip_frame_path + " " + user_script + " -output " + rendered_file_path
print script_str
FLOG = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'w')
p = subprocess.Popen(script_str, shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG)
p.wait()
FLOG.close()
# read log
"""
示例11: launch_batch_rendering
def launch_batch_rendering():
bus = dbus.SessionBus()
if bus.name_has_owner('flowblade.movie.editor.batchrender'):
print "flowblade.movie.editor.batchrender dbus service exists, batch rendering already running"
_show_single_instance_info()
else:
FLOG = open(utils.get_hidden_user_dir_path() + "log_batch_render", 'w')
subprocess.Popen([sys.executable, respaths.LAUNCH_DIR + "flowbladebatch"], stdin=FLOG, stdout=FLOG, stderr=FLOG)
示例12: start_autosave
def start_autosave():
global autosave_timeout_id
time_min = 1 # hard coded, probably no need to make configurable
autosave_delay_millis = time_min * 60 * 1000
print "Autosave started..."
autosave_timeout_id = GObject.timeout_add(autosave_delay_millis, do_autosave)
autosave_file = utils.get_hidden_user_dir_path() + get_instance_autosave_file()
persistance.save_project(editorstate.PROJECT(), autosave_file)
示例13: init_dirs_if_needed
def init_dirs_if_needed():
user_dir = utils.get_hidden_user_dir_path()
if not os.path.exists(user_dir + BATCH_DIR):
os.mkdir(user_dir + BATCH_DIR)
if not os.path.exists(get_datafiles_dir()):
os.mkdir(get_datafiles_dir())
if not os.path.exists(get_projects_dir()):
os.mkdir(get_projects_dir())
示例14: _convert_to_original_media_project
def _convert_to_original_media_project():
editorstate.PROJECT().proxy_data.proxy_mode = appconsts.CONVERTING_TO_USE_ORIGINAL_MEDIA
conv_temp_project_path = utils.get_hidden_user_dir_path() + "proxy_conv.flb"
manager_window.convert_progress_bar.set_text(_("Converting to Use Original Media"))
persistance.save_project(editorstate.PROJECT(), conv_temp_project_path)
global load_thread
load_thread = ProxyProjectLoadThread(conv_temp_project_path, manager_window.convert_progress_bar)
load_thread.start()
示例15: write_image
def write_image(self):
"""
Writes thumbnail image from file producer
"""
clip_path = self.clip.path
# Create consumer
matchframe_new_path = utils.get_hidden_user_dir_path() + appconsts.MATCH_FRAME_NEW
consumer = mlt.Consumer(PROJECT().profile, "avformat", matchframe_new_path)
consumer.set("real_time", 0)
consumer.set("vcodec", "png")
# Create one frame producer
producer = mlt.Producer(PROJECT().profile, str(clip_path))
producer = producer.cut(int(self.clip_frame), int(self.clip_frame))
# Delete new match frame
try:
os.remove(matchframe_new_path)
except:
# This fails when done first time ever
pass
# Connect and write image
consumer.connect(producer)
consumer.run()
# Wait until new file exists
while os.path.isfile(matchframe_new_path) != True:
time.sleep(0.1)
# Copy to match frame
matchframe_path = utils.get_hidden_user_dir_path() + appconsts.MATCH_FRAME
shutil.copyfile(matchframe_new_path, matchframe_path)
# Update timeline data
# Get frame of clip.clip_in_in on timeline.
clip_index = self.track.clips.index(self.clip)
clip_start_in_tline = self.track.clip_start(clip_index)
tline_match_frame = clip_start_in_tline + (self.clip_frame - self.clip.clip_in)
tlinewidgets.set_match_frame(tline_match_frame, self.track.id, self.display_on_right)
# Update view
updater.repaint_tline()