#2321
|
|||
|
|||
@mgpai
REQ Clipboard Observer catch links only from sites(.)com Pretty much clear. 1. Turn on Clipboard Observer 2. Add to Link Grabber tab only if the clipboard contains sites from asd(.)com, zyx(.).com only Last edited by xefeg; 16.06.2022 at 15:19. |
#2322
|
|||
|
|||
Script not required. You can create/use linkgrabber filter rule:
Code:
if > sourceurl(s) > contains not > mysite.com link origin > is > Clipboard |
#2323
|
|||
|
|||
Quote:
But how to add multiple URLs? adding 3 rules does not work. But 1 rule is working with 1 url Last edited by xefeg; 16.06.2022 at 17:35. |
#2324
|
|||
|
|||
Use regex (enable regex checbox fo the field):
Code:
(one\.com|two\.com|three\.com) |
#2325
|
|||
|
|||
Perfect and Thank you.
|
#2326
|
||||
|
||||
@mgpai: thanks for your quick help
__________________
JD-Dev & Server-Admin |
#2327
|
|||
|
|||
Script to run Unix Executable Once download completes
Hi There.
I have been experimenting with event scripter and have run into some complications in trying to get it to do what I want. Ultimately my goal is to make a script that when a downloaded finishes & extracts the script will check if an .iso file was extracted. If an .iso file is detected then the script should run a Unix Executable against this .iso file. This executable (called "extract-xiso") is designed to further extract the contents of the .iso into a folder of the same name as the .iso. Lastly the script should move the final extracted contents to a new directory. At the moment however I am unable to get event scripter to run my unix executable. Here is the basic test script I have at the moment with the Unix executable located in the /output folder for simplicity. For reference I am using the Jdownloader docker container: var extract = "/output/extract-xiso"; var file = "/output/test.iso"; callSync(extract, file); When I test run this script I get the following error: "java.io.IOException: Cannot run program "/output/extract-xiso": error=2, No such file or directory" Can you please advise what I am doing wrong? I am able to run this executable successfully from command line as follows: extract-xiso test.iso For reference this unix executable has been compiled to run on a 64-bit linux OS. It does not have a file extension. Any help would be much appreciated. Thanks in advance. |
#2328
|
||||
|
||||
Sure the path to the executable is correct and it is executable? (flag is set? chmod +x /output/extract-xiso)
__________________
JD-Dev & Server-Admin |
#2329
|
|||
|
|||
File paths seem to be correct. I confirmed that extract-xiso is executable. It is also showing as bright green in the docker console. I have this docker container installed on my Unraid system so as a test I executed the file from Unraid terminal. Running "file extract-xiso" from Unraid terminal gives me the following: "extract-xiso: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7857e5a9ca7d61be7223fba2d6918be2a3fcc6af, not stripped"
For reference this is executable I am trying to use although I had to build from source: **External links are only visible to Support Staff**... I am not an expert on any of this stuff so maybe there is something basic that I am missing here... |
#2330
|
||||
|
||||
Script for exporting Adcanced Settings
Request: Script for exporting Adcanced Settings
@mpgai Hi again! You already helped me before. So, maybe you can/will help once again. I discussed with Jiaz a feature request to export Advanced Settings to a file. And he told me that this could be done by using a script. I would like to export all lines and all 4 (5) columns in TSV format - if possible: Code:
Key Description Value Actions (parts 1 and 2) My suggestion: (Contents of that TSV file)
Details for Columns Value, the most complicated part, I guess I don't want to write any too specific requirements, because I don't know, what is possible. Examples: Of course it would be great, to have that what you see here in example 1 in a column:
Spoiler:
In below case, example 2, the word checked or unchecked would describe it best, I guess
Spoiler:
And in the following two cases, examples 3 and 4, just writing SYSTEM_DEFAULT or When the actual Download starts would be just fine.
Spoiler:
Spoiler:
Do you think, you could write such a script? Thanks for any efforts taken in advance! PS: What do I need that TSV file for? I frequently modify many of those Advanced Settings and I would like to comment, why I made this or that setting. At the moment I have to create a single document for every setting. And I cannot even copy everything from Advanced Settings list. :( Last edited by pspzockerscene; 17.06.2022 at 17:14. Reason: Put images into SPOILER tags to prevent ugly forum layout |
#2331
|
||||
|
||||
@mgpai: I recommend to store the (default)values JSON encoded as strings for easier storage as key/value will be strings then.
__________________
JD-Dev & Server-Admin |
#2332
|
||||
|
||||
Quote:
It sounds that there really is a (not too complicated) way to export those data. Hope that mgpai will see it the same way... |
#2333
|
|||
|
|||
Quote:
Code:
/* Remove links Trigger : JDownloader Started */ getAllFilePackages().forEach(function(package) { package.finished && package.downloadLinks.forEach(function(link) { !getPath(link.downloadPath).exists() && link.remove(); }) }) |
#2334
|
|||
|
|||
The script will export the settings in JSON format. You can use excel to import/format it.
Code:
/* Export settings Trigger: None */ var file = JD_HOME + "/settings.json"; var settings = callAPI("config", "list", ".+", true, true, true, true); writeFile(file, JSON.stringify(settings, null, 2), false); |
#2335
|
||||
|
||||
Quote:
After Excel import I get this (example) which is this line in Advanced Settings: Question 1: Is there any way, to create something like a tab separated file instead? This would solve almost all below problems/questions. Question 2: How do I search for a specific key in Excel? I consider myself quite experienced with Excel, but never let Excel handle any *.json files for me. Question 3: I notice that the key name is shown in two parts: In my example, I will find part 1 (GeneralSettings) in InterfaceName and I will find the rest of the key in (key): DeleteEmptySub... The key, however, in Advanced Settings is: GeneralSettings: Delete Empty Sub Folders... So, even the naming is different: DeleteEmptySubFolders... (in Excel import) vs. GeneralSettings: Delete Empty Sub Folders... (in Advanced Settings) Question 4: Any chance to show the key as it is displayed the same way as in Advanced Settings (green instead of red)? Question 5: How do I sort those keys in Excel? How can I display the key names? At the moment each and every line is just called 'Record'. Question 6: I would also like to be able to use Excel filters, e.g. just showing me all keys where there is a custom value. Question 7: I want to use the exported file (in Excel) to write comments for some of those keys. How do I do that in this format? This was/is my main intention EDIT In the meantime I found a tutorial here: howtogeek.com/775651/how-to-convert-a-json-file-to-microsoft-excel/ Anyway, is it possible to create a tab separated file directly? Last edited by StefanM; 18.06.2022 at 18:29. |
#2336
|
||||
|
||||
Quote:
the information in CSV format, make sure to JSON.stringify the value Quote:
__________________
JD-Dev & Server-Admin Last edited by Jiaz; 19.06.2022 at 09:52. |
#2337
|
||||
|
||||
@mgpai, @Jiaz:
Quote:
Quote:
I follow Jiaz's recommendation here. So, please disregard my requests as per Q3 and Q4. It sounds really good, that there even might be a chance to import/restore those exported settings later. @mgpai, @Jiaz: Thanks to both of you for all your efforts! |
#2338
|
||||
|
||||
@mgpai:
Just found out, that when using Excel, the limit is 1,000 rows. Message from Excel 2019 Code:
Limit of 1000scanned rows reached That's why I would need a TSV file, please! |
#2339
|
||||
|
||||
I'm sure mgpai will find time to modify script to write TSV file instead. just give him time and a weekend
__________________
JD-Dev & Server-Admin |
#2340
|
||||
|
||||
Quote:
As this was completely new to me: limitations of only 1,000 rows, while on the other hand Excel can handle sheets with 1,048,576 rows and 16,384 columns... Guess, the 'json-module' in Excel is pretty old, as it is also extremely slow... |
#2341
|
||||
|
||||
Quote:
One *workaround* woud be to split the exported config into max 1000 rows per file then you can import them one by one. Issue might also happen when the json object changes and new columns show up, see stackoverflow.com/questions/50230358/llimitation-while-converting-big-json-into-csv-in-power-query-editor
__________________
JD-Dev & Server-Admin Last edited by Jiaz; 20.06.2022 at 10:24. |
#2342
|
|||
|
|||
Quote:
Code:
[ "abstractType", "defaultValue", "docs", "enumLabel", "enumOptions", "interfaceName", "key", "storage", "type", "value" ] While it is possible, it will take more than a simple iteration. The 'tsv' file is ultimately intended for use in excel, which is better equipped to handle db structure like this one. When imported correctly, it will contain a table with above 10 keys as column headers, with rows empty or filled with data, depending on whether it is present in the original object. Quote:
In this case it should be equal to 10, not 1000, which is the number of keys listed above. |
#2343
|
||||
|
||||
@Jiaz
Funny thing is, that I see all 1,178 rows. But I don't know, whether or not everything is complete. Another things that puzzles me is, that every time I e.g. filter a column, and then reset all filters, Excel will only load (once again) only a small part of those 1,178 rows and I have to scroll down several times, until the last row has been reached once again. And all of this is slow: I takes a couple of seconds. And I also cannot adjust the column widths to any size I want. The last column, I can only set to some 30 or 50 % of the width needed. I know, all this is kind of off topic, but maybe you are familiar with handling *.json files with Excel. And you can answer this anyway: As I'm always curious and eager to learn new things (in this case handling *.json files and Excel)... How do I copy/save those rows and columns from the attached screenshot to a 'normal' Excel sheet? Any other opened Excel window is blocked, as long as the attached window is open. What I did, was copy it to another Excel sheet on another PC, connected via Remote Desktop. And also copying it to a txt file and later back to Excel would work. But I guess there must be another way. EDIT Got 'Close & Load' finally working, but the result is not correct. Because now I have 2,618 rows instead of 1,178. Maybe because of that 1,000 rows limitation... Last edited by StefanM; 20.06.2022 at 11:33. |
#2344
|
||||
|
||||
Quote:
Well, for me it's the first time that I got that warning. Never saw it before with other databases. If you read my post addressed to Jiaz, you will see some other 'peculiar' behavior of Excel I experienced here. Anyway, do you think you can find a way to create a tsv file? Or is it that complicated or even impossible, that you have to give up? |
#2345
|
|||
|
|||
Really? That is what you took from what I wrote?
|
#2346
|
||||
|
||||
@mgpai:
Please accept my apologies! I guess, this is what you are referring to? Quote:
But I still don't know, whether or not you are prepared to create a tsv generating script. And I have no idea, how much time that would take, and if it would be OK or if it even would be impudent or outrageous to ask for such a script. Once again, I apologize, in case my reaction sounded kind of rude, which for sure wasn't my intention. But if you decide to create that tsv script (with those 10 columns) I can only say once again thanks a lot for your efforts! Last edited by StefanM; 20.06.2022 at 12:29. |
#2347
|
|||
|
|||
No worries.
Quote:
Code:
/* Export settings Trigger : none */ var rows = []; var file = JD_HOME + "/settings.tsv"; var settings = callAPI("config", "list", ".+", true, true, true, true); var keys = [ "abstractType", "defaultValue", "docs", "enumLabel", "enumOptions", "interfaceName", "key", "storage", "type", "value" ]; rows.push(keys.join("\t")); settings.forEach(function(item) { var row = []; keys.forEach(function(key) { row.push(JSON.stringify(item[key])); }) rows.push(row.join("\t")); }) writeFile(file, rows.join("\n"), false); Let me know if you need any modifications. |
#2348
|
||||
|
||||
Haven't started testing, yet. But nevertheless already now I have to say:
Thank you so much for your time and efforts. I really appreciate it. Will get back to you with my report later. Will also try to verify the result/columns by comparing the Excel-result (importing the *json file to Excel that is) with the result of the script you just sent me. Once again: Thank you very much. |
#2349
|
||||
|
||||
Now, here are my test results:
While the *.json export misses some information, the *.tsv export seems to be complete. Examples (first line is from tsv file, second line is from json file) Code:
["-i","%audio","-vn","-f","ogg","-acodec","libvorbis","-aq","4","%out","-y"] [List] Code:
{"mp4":"mp4"} [Record] If I may ask for a minor modification: Would it be possible to change the name of the output (tsv) file to something like this? 2022-06-20-11-35-10.tsv YYYY-MM-DD-hh-mm-ss.tsv And a far more complex request would be the possibility to restore the settings from the saved tsv file, writing them back to JD that is. But I'm afraid that this would probably really be too much work load. But if I'm wrong and it's not that complicated, I thought I might as well ask... And once more: Thank you very much for what you already did. It's a great and very useful script! |
#2350
|
|||
|
|||
Code:
var file = JD_HOME + "/" + new Date().toISOString().substr(0, 19).replace(/[^\d]/g, "-") + ".tsv"; Quote:
You're welcome. |
#2351
|
||||
|
||||
Quote:
__________________
JD-Dev & Server-Admin |
#2352
|
||||
|
||||
Quote:
Example 1: in tsv it reads: ["-i","%audio","-vn","-f","ogg","-acodec","libvorbis","-aq","4","%out","-y"] In json the same reads only:[List] Same applies to example 2 Here instead of: {"mp4":"mp4"} in json it only reads: [Record] Please have a look at the attached screenshot: https://i.imgur.com/9oIEVFh.jpg Black is tsv export and blue is json export. Last edited by StefanM; 21.06.2022 at 10:40. Reason: Added screenshot |
#2353
|
||||
|
||||
Quote:
... thanks a lot for trying, maybe, some time later... |
#2354
|
|||
|
|||
Quote:
Today I got this error when running this script Code:
net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "link" is not defined. (#9) Code:
20.06.22 03.34.21 <--> 20.06.22 17.19.40 jdlog://6301035302851/ |
#2355
|
||||
|
||||
@mpgai:
Sorry to bother you once again. There is one thing I forgot from my initial spec: A column which indicates whether or not the default settings for a row have been changed. (e.g. DEFAULT / CUSTOM) Could you add such a column, please? I'm referring to the yellow arrow in Advanced Settings, indicating that default settings have been changed: Thanks once again! |
#2356
|
||||
|
||||
@TomNguyen: You've set wrong Trigger
Quote:
__________________
JD-Dev & Server-Admin |
#2357
|
||||
|
||||
@mgpai: you could JSON.stringify default and value and compare to check if value is customized or not
__________________
JD-Dev & Server-Admin |
#2358
|
|||
|
|||
Quote:
Update: It works well for the last week. Thanks again! Last edited by TomNguyen; 02.07.2022 at 03:43. |
#2359
|
||||
|
||||
__________________
JD-Dev & Server-Admin |
#2360
|
||||
|
||||
Quote:
see marcusrauhut.com/importing-json-data-into-excel-power-query/ A single value may contain multiple other values and that's why a single value to column representation doesn't work. In TSV the value is stored as JSON String and that's why value <-> column assignment works fine.
__________________
JD-Dev & Server-Admin |
Thread Tools | |
Display Modes | |
|
|