<div><div><div>Hi Tiago,<br></div><div>You can download the different Python files that perform the analysis from this folder [1]. For instance, if you want to perform the Mastery score analysis you would download this file [2], while if you wanted to perform the DeadCode analysis, this would be the file to use [3], and so on. <br></div></div><div style="font-family: arial; font-size: 14px;">Then, in order to run these files as a script you'll have to add something like this at the end of each file: <br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">if __name__ == "__main__": main(sys.argv[1])</span><br></div><div style="font-family: arial; font-size: 14px;">So you could analyse an sb3 project as folllows:<br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">$python2.7 analyzer.py proyect.sb3  </span><br></div></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">proyect.sb3</span><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font"></span><br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">{"Abstraction": 0, "Parallelization": 0, "Logic": 2, "Synchronization": 0, "FlowControl": 1, "UserInteractivity": 2, "DataRepresentation": 1}</span><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font"></span><br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">Total mastery points: 6/21</span><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font"></span><br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">Average mastery points: 0.86/3</span><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font"></span><br></div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">Overall programming competence: Basic</span><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font"></span><br></div><div style="font-family: arial; font-size: 14px;">This output may not be really appropiate for a batch analysis, so you'll most likely want to modify the <span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">finalize</span> method so the output reads somehitng like this:<br></div><div><div style="font-family: arial; font-size: 14px;"><span style="font-family: menlo, consolas, courier new, monospace, sans-serif;" class="font">proyect.sb3 6 0      0       2       0       1       2       1</span><br></div><div style="font-family: arial; font-size: 14px;">If you have any questions when you start dealing with it, I am more than happy to try to give you a hand!<br></div><div style="font-family: arial; font-size: 14px;">Please send my regards to Casper and the rest of the NEU team :)<br></div><div style="font-family: arial; font-size: 14px;"><br></div></div><div style="font-family: arial; font-size: 14px;">[1] <a href="https://github.com/AngelaVargas/drscratchv3/tree/ae3c6d556db83f78d4507169468a5d076cbad87d/app" rel="noopener noreferrer" target="_blank">https://github.com/AngelaVargas/drscratchv3/tree/ae3c6d556db83f78d4507169468a5d076cbad87d/app</a><br></div><div style="font-family: arial; font-size: 14px;">[2] <a href="https://github.com/AngelaVargas/drscratchv3/blob/ae3c6d556db83f78d4507169468a5d076cbad87d/app/analyzer.py" rel="noopener noreferrer" target="_blank">https://github.com/AngelaVargas/drscratchv3/blob/ae3c6d556db83f78d4507169468a5d076cbad87d/app/analyzer.py</a><br></div><div style="font-family: arial; font-size: 14px;">[3] <a href="https://github.com/AngelaVargas/drscratchv3/blob/ae3c6d556db83f78d4507169468a5d076cbad87d/app/deadCode.py" rel="noopener noreferrer" target="_blank">https://github.com/AngelaVargas/drscratchv3/blob/ae3c6d556db83f78d4507169468a5d076cbad87d/app/deadCode.py</a><br></div><div style="font-family: arial; font-size: 14px;"><br></div><div style="font-family: arial; font-size: 14px;"><div class="protonmail_signature_block protonmail_signature_block-empty" style="font-family: arial; font-size: 14px;"><div class="protonmail_signature_block-user protonmail_signature_block-empty"></div><div class="protonmail_signature_block-proton protonmail_signature_block-empty"></div></div><div style="font-family: arial; font-size: 14px;"><br></div><div class="protonmail_quote"><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div>El lunes, 17 de enero de 2022 a las 11:07, Gregorio Robles <<a href="mailto:grex@gsyc.urjc.es" rel="noopener noreferrer" target="_blank">grex@gsyc.urjc.es</a>> escribió:<br></div></div></div><div style="font-family: arial; font-size: 14px;"><br></div><blockquote type="cite" class="protonmail_quote"><div dir="ltr"><div><br></div><div>Dear Tiago,<br></div><div><br></div><div>there is a way to do batch analysis as you intend, basically by using the scripts in Dr. Scratch in a slightly different way. I am sorrily not aware of the details, but I hope Jesús, whom I am putting in copy to this e-mail, can help.<br></div><div><br></div><div>Jesús, ¿could you please guide Tiago on how to do what he wants? Thanks!<br></div><div><br></div><div>regards, Gregorio<br></div></div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El sáb, 15 ene 2022 a las 18:59, Machado, Tiago (<<a target="_blank" rel="noopener noreferrer" href="mailto:ti.machado@northeastern.edu">ti.machado@northeastern.edu</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Dear Dr. Scratch Team,<br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">My team in Northeastern University (lead by Prof. Casper Harteveld and Prof. Giovanni Troiano) is working on the analysis of computational thinking metrics. To do this work we are using Hairball and the Dr. Scratch website. An issue we're facing is that Hairball
 seems to be outdated, and not able to analyze .sb3 projects. However, we can do this with Dr. Scratch website. Since we have a huge amount of projects to analyze, I'm looking for a way to input a folder path, and having Dr. Scratch running all the analysis
 and generate a spreadsheet with all the numbers.<br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">I'd like to extend Dr. Scratch to perform this action. I was looking at the GitHub repo (<a rel="noopener noreferrer" href="https://github.com/jemole/drScratch" id="gmail-m_8268402097121649LPlnkOWALinkPreview" target="_blank">https://github.com/jemole/drScratch</a>) and if you can point me to where are the classes/function
 that gets a .sb3 file as input and outputs the CT metrics, would help me a lot. Also, is there a Dr. Scratch version detached from the DJango framework?<br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Best Regards,<br></div><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Tiago<br></div><div><div id="gmail-m_8268402097121649LPBorder_GTaHR0cHM6Ly9naXRodWIuY29tL2plbW9sZS9kclNjcmF0Y2g." style="width:100%;margin-top:16px;margin-bottom:16px;max-width:800px;min-width:424px"><table id="gmail-m_8268402097121649LPContainer999015" role="presentation" style="padding:12px 36px 12px 12px;width:100%;border-width:1px;border-style:solid;border-color:rgb(200,200,200);border-radius:2px"><tbody><tr style="border-spacing:0px" valign="top"><td><div id="gmail-m_8268402097121649LPImageContainer999015" style="margin-right:12px;height:120px;overflow:hidden;width:240px"><a rel="noopener noreferrer" id="gmail-m_8268402097121649LPImageAnchor999015" href="https://github.com/jemole/drScratch" target="_blank"><img id="gmail-m_8268402097121649LPThumbnailImageId999015" alt="" style="display: block;" src="https://opengraph.githubassets.com/9ca80413ab6e93e5e37292d2e2cb0590c88a2ef1904d8f65c63ece89ea50b053/jemole/drScratch" width="240" height="120"></a><br></div></td><td style="width:100%"><div id="gmail-m_8268402097121649LPTitle999015" style="font-size:21px;font-weight:300;margin-right:8px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px"><a rel="noopener noreferrer" id="gmail-m_8268402097121649LPUrlAnchor999015" href="https://github.com/jemole/drScratch" style="text-decoration:none" target="_blank">jemole/drScratch: drScratch is an analytical tool that evaluates your Scratch projects in a variety of computational
 areas to provide feedback on aspects such as abstraction, logical thinking, synchronization, parallelization, flow control, user interactivity and data representation. This analyzer is a helpful tool to evaluate your own projects, or those of your Scratch
 students. - GitHub</a><br></div><div id="gmail-m_8268402097121649LPDescription999015" style="font-size:14px;max-height:100px;color:rgb(102,102,102);font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px;margin-right:8px;overflow:hidden">drScratch is an analytical tool that evaluates your Scratch projects in a variety of computational areas to provide feedback on aspects such as abstraction, logical thinking, synchronization, parallelization, flow control, user interactivity and data representation.
 This analyzer is a helpful tool to evaluate your own projects, or those of your Scratch students.<br></div><div id="gmail-m_8268402097121649LPMetadata999015" style="font-size:14px;font-weight:400;color:rgb(166,166,166);font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif"><a rel="noopener noreferrer" href="http://github.com" target="_blank">github.com</a><br></div></td></tr></tbody></table></div></div><div><br></div></div><div>_______________________________________________<br></div><div> kgblll mailing list<br></div><div> <a rel="noopener noreferrer" href="mailto:kgblll@gsyc.urjc.es" target="_blank">kgblll@gsyc.urjc.es</a><br></div><div> <a href="https://gsyc.urjc.es/cgi-bin/mailman/listinfo/kgblll" rel="noopener noreferrer" target="_blank">https://gsyc.urjc.es/cgi-bin/mailman/listinfo/kgblll</a><br></div></blockquote></div><div><br></div><div><br></div><div>-- <br></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Gregorio Robles<br></div><div>Universidad Rey Juan Carlos <br></div><div>Campus de Fuenlabrada (Madrid), España<br></div><div><a rel="noopener noreferrer" href="mailto:gregorio.robles@urjc.es" target="_blank"><span>gregorio.robles@urjc.es</span></a> | <a rel="noopener noreferrer" href="http://www.urjc.es" target="_blank">www.urjc.es</a> | @URJC |<br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote>