Read the statement by Michael Teeuw here.
.txt file include
-
hi again,
im after getting my script to update my txt file with the names of downloaded movies and tv series… how would i go about reading the title of the series and just having the title and info ie:
if title has S**E** in it then
filename - Archer S01E01pilot 1080p x265.mkv
desired result - Archer S01E01else its a movie and just add movie name
i think this is the bit of code im to edit but i havent got it working :(
getDom: function(){ var wrapper = document.createElement("div"); if(this.dataFile){ var meldungRegExp = /Meldung (.*?) /ig; var meldung = meldungRegExp.exec(this.dataFile)[1]; var zoneRegExp = /Zone (.*?) /ig; var zone = zoneRegExp.exec(this.dataFile)[1]; var zeitRegExp = /Zeit (.*?) /ig; var zeit = zeitRegExp.exec(this.dataFile)[1]; wrapper.innerHTML = "Meldung: " + meldung + " Zone: " + zone + " Zeit: " + zeit; } else { wrapper.innerHTML = "No Data"; } return wrapper; } });
thanks
Richie
-
@banbutcher said in .txt file include:
Archer S01E01pilot 1080p x265.mkv
using the regex tester,
https://regex101.com/I think this is the regex u want
/.*[S][(0-9)]+[E][(0-9)]+/
-
that worked great…
however, im a little bit stuck again… your expression works fine and return the correct result but only on the first line of the file and only if i remove the [1] from the end of line 5 of the code
getDom: function(){ var wrapper = document.createElement("div"); if(this.dataFile){ var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/ig; var split = splitRegExp.exec(this.dataFile)[1]; wrapper.innerHTML = split; } else { wrapper.innerHTML = "No Data"; } return wrapper; }
do i need to stick it in some kind of loop? or am i reading the contents of file wrong?
again thanks for your help :)
-
@banbutcher is dataFile an array of filenames? then yes, you’ll need a loop.
so, you are moving part of name a, to a new array
then part of name b to the next slot in the arrayarray.push(item)
adds item to the end of the arrayname_of_array =[] initializes name_of_array to be an empty array
then u will need to format the array of partial names
var x = name_of_array.join(separator)
will turn the array into x, a string with separator between the names -
Band.Of.Brothers.E01.1080p.5.1Ch.BluRay.ReEnc-DeeJayAhmed.srt <br> Archer S01E03 Diversity Hire (1080p x265 10bit S94 Joy).mkv <br> devs.s01e02.720p.hdtv.x264-river[eztv].mkv <br> What.We.Do.in.the.Shadows.S02E02.Ghosts.720p.AMZN.WEBRip.DDP5.1.x264-NTb[eztv.io].mkv <br> What.We.Do.in.the.Shadows.S02E01.Resurrection.720p.AMZN.WEBRip.DDP5.1.x264-NTb[eztv.io].mkv <br>
this is the file im reading from… im not sure if thats an array, sorry and i want them outputted same line by line just missing the trailing parts.
again thanks for your help :)
-
@banbutcher reading how
-
this is my main module .js
i think this is where im reading from :/
Module.register("deluge",{ defaults: { updateInterval: 10 * 60 * 1000 //reads the file every 10 mins }, start: function(){ this.sendSocketNotification("START", this.config); }, socketNotificationReceived: function(notification, payload) { if(notification === "DATA"){ this.dataFile = payload; this.updateDom(); } }, // getDom: function(){ // var wrapper = document.createElement("div"); // if(this.dataFile){ // wrapper.innerHTML = this.dataFile; // } else { // wrapper.innerHTML = "No data"; // } // return wrapper; // } getDom: function(){ var wrapper = document.createElement("div"); if(this.dataFile){ var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/ig; var split = splitRegExp.exec(this.dataFile); wrapper.innerHTML = split; } else { wrapper.innerHTML = "No Data"; } return wrapper; } });
again thanks for your help :)
im in way overmy head here!
-
@banbutcher reading in the node_helper, sending up to the module.
-
Node_helper :)
const NodeHelper = require("node_helper"); const fs= require("fs"); module.exports = NodeHelper.create({ //here comes the part of the nodehelper after the 3 dots as posted above socketNotificationReceived: function(notification, payload) { if(notification === "START"){ this.config = payload; this.readData(); setInterval(() => { this.readData(); }, this.config.updateInterval); } }, readData: function(){ //to read a file to do the following fs.readFile("new-tv-list.txt", "utf8", (err, data) => { if (err) throw err; this.sendSocketNotification("DATA", data); }); } });
-
@banbutcher I won’t have time to look at this tonight