Shot Sheet Maker - fails on xlsx writer

Hiya @MikeV, Im testing the Shot Sheet Maker you built. thank you!

I’m getting an error message on the Install o the xlsxWriter…any ideas?

thanks for all you do! Can’t wait to try it out.

r

It might be a permissions problem. Make sure the folder you put the script into has full permissions.

1 Like

That didn’t seem to do the trick. On Catalina 10.15.7. I’ll try again in the morning.

Okay, I’ve finally found the problem. It was something funky in my Python folder that was not allowing newly installed scripts to compile. I’ve cleared out the offenders and it all works!

Python encountered (‘unexpected indent’, (’/opt/Autodesk/shared/python/pyflame/pyflame_installer/pyflame_installer.py’, 773, 16, ’ for num, line in enumerate(new_script_file, 1):\n’)) in unknown code
[PYTHON HOOK] An error occurred Igoring python hooks from /opt/Autodesk/shared/python/pyflame/pyflame_installer/pyflame_installer.py
Python encountered ‘No module named flame’ in unknown code
[PYTHON HOOK] An error occurred Igoring python hooks from /opt/Autodesk/shared/python/pyflame/export_preset_menus/export_preset_menus.py
Python encountered ‘No module named flame’ in unknown code
[PYTHON HOOK] An error occurred Igoring python hooks from /opt/Autodesk/shared/python/pyflame/create_export_menus/create_export_menus.py
Python encountered ‘No module named flame’ in unknown code
[PYTHON HOOK] An error occurred Igoring python hooks from /opt/Autodesk/shared/python/pyflame/batch_nodes/batch_nodes.py
[PYTHON HOOK] Duplicate module name found shot_sheet_maker (/opt/Autodesk/shared/python/shot_sheet_maker_v2/shot_sheet_maker.py vs /opt/Autodesk/shared/python/pyflame/shot_sheet_maker/shot_sheet_maker.py). Python does not allow more than one module with a given name to be loaded at the same time. /opt/Autodesk/shared/python/pyflame/shot_sheet_maker/shot_sheet_maker.py will be used.
Python encountered ‘No module named flame’ in unknown code
[PYTHON HOOK] An error occurred Igoring python hooks from /opt/Autodesk/shared/python/pyflame_installer_v1_4.py
[PYTHON HOOK] Duplicate module name found slate_maker (/opt/Autodesk/shared/python/slate_maker.py vs /opt/Autodesk/shared/python/pyflame/slate_maker/slate_maker.py). Python does not allow more than one module with a given name to be loaded at the same time. /opt/Autodesk/shared/python/pyflame/slate_maker/slate_maker.py will be used.

Nice! Glad to hear you got it working.

1 Like

Hey @MikeV ,

So, this is happening to me in Shot Sheet creator after we had to do some manual installs for the ML Timewarp…

Big Sur 11.2.1, Flame 2021.2.1…

Shot Sheet Creator makes the jpegs but fails to write the xlsx.

[‘Traceback (most recent call last):\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 366, in check_entries\n self.create_seq_shot_sheet()\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 876, in create_seq_shot_sheet\n source_length_frames = self.timecode_to_frames(source_duration, self.clip_frame_rate)\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 575, in timecode_to_frames\n frames = int(round(timecode_to_frames(clip_timecode, start=‘00:00:00:00’)))\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 568, in timecode_to_frames\n return _frames(_seconds(_timecode) - _seconds(start))\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in _seconds\n return sum(f * float(t) for f, t in _zip_ft)\n’,
’ File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in \n return sum(f * float(t) for f, t in _zip_ft)\n’,
‘ValueError: could not convert string to float: on\n’]

This is from Flame shell…

shot sheet maker v2.2 <<<<<<<<<<<<<<<<<<<<

xlsxwriter imported <<<

shot sheet maker config loaded <<<

Export path not found - Select new path <<<

image_dir: /Users/randymcentee/Desktop/v6/randy_mcentee_reel_2021
thumb_nail_width: 266
column_width: 41.8901660281
x_offset: 31
y_offset: 44.97
clip_name: randy_mcentee_reel_2021
clip_frame_rate: 23.976
RMRE_0010
source_name: Source Name: RMRE_0020
source_path: Source Path:
source_tc: Source TC: 00:00:00+01 - 00:00:04+06
record_tc: Record TC: 00:00:00+01 - 00:00:04+06
clip_timecode: 00:00:04+06
clip_timecode: 00:00:04:06
shot_length: Shot Length: 00:00:04+06 - 102 Frames
clip_timecode: 00:02:58+17
clip_timecode: 00:02:58:17
source_length: Source Length: 00:02:58+17 - 4285 Frames

clip_info_list: [‘Shot Name: RMRE_0010’, ‘Source Name: RMRE_0020’, 'Source Path: ', ‘Source TC: 00:00:00+01 - 00:00:04+06’, ‘Record TC: 00:00:00+01 - 00:00:04+06’, ‘Shot Length: 00:00:04+06 - 102 Frames’, ‘Source Length: 00:02:58+17 - 4285 Frames’]

source_name: Source Name:
source_path: Source Path:
source_tc: Source TC: 00:00:00+00 - 00:00:00+16
record_tc: Record TC: 00:00:04+07 - 00:00:04+23
clip_timecode: 00:00:00+17
clip_timecode: 00:00:00:17
shot_length: Shot Length: 00:00:00+17 - 17 Frames
clip_timecode: on
clip_timecode: on
Traceback (most recent call last):
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 366, in check_entries
self.create_seq_shot_sheet()
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 876, in create_seq_shot_sheet
source_length_frames = self.timecode_to_frames(source_duration, self.clip_frame_rate)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 575, in timecode_to_frames
frames = int(round(timecode_to_frames(clip_timecode, start=‘00:00:00:00’)))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 568, in timecode_to_frames
return _frames(_seconds(_timecode) - _seconds(start))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in _seconds
return sum(f * float(t) for f, t in _zip_ft)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in
return sum(f * float(t) for f, t in _zip_ft)
ValueError: could not convert string to float: on

Removing the ML Timewarp Python script removes the error messages, successfully exports the jpegs, but still no xlsx file.

xlsxWriter Installed <<<

shot sheet maker v2.2 <<<<<<<<<<<<<<<<<<<<

xlsxwriter imported <<<

shot sheet maker config loaded <<<

shot sheet maker column names loaded <<<

column names saved <<<
image_dir: /Users/randymcentee/Desktop/v10/randy_mcentee_reel_2021
thumb_nail_width: 266
column_width: 41.8901660281
x_offset: 31
y_offset: 44.97
clip_name: randy_mcentee_reel_2021
clip_frame_rate: 23.976
RMRE_0010
source_name: Source Name: RMRE_0020
source_path: Source Path:
source_tc: Source TC: 00:00:00+01 - 00:00:04+06
record_tc: Record TC: 00:00:00+01 - 00:00:04+06
clip_timecode: 00:00:04+06
clip_timecode: 00:00:04:06
shot_length: Shot Length: 00:00:04+06 - 102 Frames
clip_timecode: 00:02:58+17
clip_timecode: 00:02:58:17
source_length: Source Length: 00:02:58+17 - 4285 Frames

clip_info_list: [‘Shot Name: RMRE_0010’, ‘Source Name: RMRE_0020’, 'Source Path: ', ‘Source TC: 00:00:00+01 - 00:00:04+06’, ‘Record TC: 00:00:00+01 - 00:00:04+06’, ‘Shot Length: 00:00:04+06 - 102 Frames’, ‘Source Length: 00:02:58+17 - 4285 Frames’]

source_name: Source Name:
source_path: Source Path:
source_tc: Source TC: 00:00:00+00 - 00:00:00+16
record_tc: Record TC: 00:00:04+07 - 00:00:04+23
clip_timecode: 00:00:00+17
clip_timecode: 00:00:00:17
shot_length: Shot Length: 00:00:00+17 - 17 Frames
clip_timecode: on
Traceback (most recent call last):
clip_timecode: on
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 366, in check_entries
self.create_seq_shot_sheet()
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 876, in create_seq_shot_sheet
source_length_frames = self.timecode_to_frames(source_duration, self.clip_frame_rate)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 575, in timecode_to_frames
frames = int(round(timecode_to_frames(clip_timecode, start=‘00:00:00:00’)))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 568, in timecode_to_frames
return _frames(_seconds(_timecode) - _seconds(start))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in _seconds
return sum(f * float(t) for f, t in _zip_ft)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 552, in
return sum(f * float(t) for f, t in _zip_ft)
ValueError: could not convert string to float: on

It looks like it’s running into a problem with the timecode on one of the shots in your timeline. Does the script work if you try it on a timeline with different shots?

Sorry for being so useless at Python and most things command line.

I have tried to install the shot sheet maker on linux. Up until now I have been manually downloading the python scripts and adding them myself but when this failed to install xlsx writer successfully I bit the bullet and installed the logik portal. Not as scary as I had feared. In fact a lovely piece of work. Thanks

However it still failed to accept my system password and install xls_writer.
It must be a permissions problem. I tested this on a Mac and it is a joy to behold. The producers are very excited.

Is it possible that I can install this manually ? I used to do this for the Logik shaders before I installed the logik_installer.py

What i meant was I had a command line code for the terminal that would grab the latest shaders. Unzip them and put them in the appropriate folder and when I dug around in the python script i saw this:

def install_button(self):

    def install_xls_writer():
        import flame
        from subprocess import Popen, PIPE

        flame_version = self.flame_combo_box.currentText()
        flame_version = flame_version.rsplit('_', 1)[1]

        tar_path = CONFIG_PATH.rsplit('/', 1)[0]

        command = 'tar -xvf %s/xlsxwriter.tar.gz -C /opt/Autodesk/python/%s/lib/python2.7/site-packages/' % (tar_path, flame_version)
        command = command.split()

        p = Popen(['sudo', '-S'] + command, stdin=PIPE, stderr=PIPE, universal_newlines=True)
        sudo_prompt = p.communicate(self.password + '\n')[1]

        install_dir = '/opt/Autodesk/python/%s/lib/python2.7/site-packages/xlsxwriter' % flame_version

Seems to me that I could unzip the xlsxwriter.tar.gz into the python folder manually no?

Here’s what you can do if you want to manually install xlsx writer:

Untar xlsxwriter.tar.gz in the shot sheet maker folder. This will give you a folder called xlsxwriter.

Move that folder into /opt/Autodesk/python/CURRENT_VERSION/lib/python2.7/site-packages

If you do a copy and paste of that folder, be sure to delete it from the shot sheet maker folder. It will cause a bunch of errors to show up in the terminal when you start Flame. It shouldn’t cause any problems with Flame running though.

1 Like

Thanks once again for your help @MikeV

Even the simple Unix code

su

cp -R xlsxwriter /opt/Autodesk/python/2020.3/lib/python2.7/site-packages/

Is a massive accomplishment for me. Works on linux now. Thanks

1 Like

Hi All,

I’m unfortunately still struggling with the creation of the XMLs here. I have xlsxwriter installed and in /opt/Autodesk/python/CURRENT_VERSION/lib/python2.7/site-packages

However I am only getting the single frame JPEGs out of my system, with no sign of the XMLs. Is it possible I am running into separate permissions issues on the XML creation via xlsxwriter and not the jpeg generation? If so could you perhaps guide me a wee bit in the direction of addressing the issues.

As ever, muuuuch appreciation respect as this script is going to be a dream, once I have it working fluidly

Hey Beren

What version of flame and what version of the script are you using? Are you getting any errors in the shell when running the script?

The script won’t give you any XML files. It will create an excel spreadsheet.

Mike

shot sheet maker v3.0 <<<<<<<<<<<<<<<<<<<<

shot sheet maker config loaded <<<

xlsxWriter imported <<<

Traceback (most recent call last):
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 509, in check_entries
self.create_seq_shot_sheet()
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 1030, in create_seq_shot_sheet
source_length_frames = self.timecode_to_frames(source_duration, self.clip_frame_rate)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 711, in timecode_to_frames
frames = int(round(timecode_to_frames(clip_timecode, start=‘00:00:00:00’)))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 704, in timecode_to_frames
return _frames(_seconds(_timecode) - _seconds(start))
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 688, in _seconds
return sum(f * float(t) for f, t in _zip_ft)
File “/opt/Autodesk/shared/python/shot_sheet_maker/shot_sheet_maker.py”, line 688, in
return sum(f * float(t) for f, t in _zip_ft)
ValueError: could not convert string to float: ‘on’

Hi @MikeV

Apologies, script info above and I am running Flame 2022.1 with Shot Sheet Maker 3.0. Aye again apologies, I am expecting excel sheets

Does your timeline have any empty gaps in it by chance?

1 Like

It does. Or should I say, did! Apologies if this is mentioned elsewhere. I also noticed BFXs must be commited to ensure they go out correctly too. Not an issue as i’ll be using the BFX timelines a references to my slap comps.

So, that has indeed fixed the issue. To counter this, I have simply filled the gaps with Black sources and can generate the sheets for the entire timeline and of course maintaining the record timecode info. I’ll then look to remove the Black source info from the sheet and should be good from there.

Truly helpful once again!

Cool. Glad you got it working. I’ll mess around with the script to see if I can get it to ignore any gaps.

Mike

Thanks kindly. Out of curiosity, are we able to add, as an original set of metadata the from tokens ‘segment name’ & ‘shot name’ ? Or potentially ‘comment’. This’ll allow me to apply 3 sets of names attached to the segments, being scene info, VFX name & source file name.

No worries if not, i’ll be able to combined the scene and VFX and then take that data to be split up elsewhere