MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. banbutcher
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    B
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 17
    • Posts 128
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: .txt file include

      @sdetweil

      this code works…

      		if(this.dataFile){
                              var output_list= [];
      			var counter=this.config.counter || 11
                              // setup regex, no i  no g (only once, and case sensitive)
                              var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/;
                              // loop thru the list of filenames
                              for(filename of this.dataFile) {
                                  // if the name is not zero length (split could have returned for just linefeed
                                  if(filename.length >0 && counter>0) {
                                     // get the filename prefix
                                     var split = splitRegExp.exec(filename);
                                     // save name to the output list, as a table entry
                                     // table has a row, 
                                     output_list.push("<tr><td>")
                                     // with data
                                     output_list.push(split)
                                     // end of data and row
                                     output_list.push("</td></tr>")
      			       counter--;
                                  } 
                              }  
                              // insert the table into the wrapper
      			wrapper.innerHTML = "<table>" + output_list.join('')+ "</table>";
      		 } else {
      

      this code doesnt…

                              var output_list= [];
      			var counter=this.config.counter || 11
                              // setup regex, no i  no g (only once, and case sensitive)
                              var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/;
                              // loop thru the list of filenames
                              for(filename of this.dataFile) {
                                  // if the name is not zero length (split could have returned for just linefeed
                                  if(filename.length >0 && counter>0) {
                                     // get the filename prefix
                                     var split = splitRegExp.exec(filename);
                                     // save name to the output list, as a table entry
                                     // table has a row, 
                                     output_list.push("<tr><td>")
      			       // with data
      			       if(split.length >0 )
                                        output_list.push(split)
      			       else
      			          output_list.push('name not found:'+ filename)
                                     // end of data and row
                                     output_list.push("</td></tr>")
      			       counter--;
                                  } 
                              }  
                              // insert the table into the wrapper
      			wrapper.innerHTML = "<table>" + output_list.join('')+ "</table>";
      		 } else {
      			wrapper.innerHTML = "No Data";
      		}
      

      Richie :)

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      @sdetweil

      the counter part worked great, but then when i tried to add it if loop for the name check, im getting “no data” maybe i messed up copying across?

                              var output_list= [];
      			var counter=this.config.counter || 11
                              // setup regex, no i  no g (only once, and case sensitive)
                              var splitRegExp = /.*[S][(0-9)]+[E][(0-9)]+/;
                              // loop thru the list of filenames
                              for(filename of this.dataFile) {
                                  // if the name is not zero length (split could have returned for just linefeed
                                  if(filename.length >0 && counter>0) {
                                     // get the filename prefix
                                     var split = splitRegExp.exec(filename);
                                     // save name to the output list, as a table entry
                                     // table has a row, 
                                     output_list.push("<tr><td>")
      			       // with data
      			       if(split )
                                        output_list.push(split)
      			       else
      			          output_list.push('name not found:'+ filename)
                                     // end of data and row
                                     output_list.push("</td></tr>")
      			       counter--;
                                  } 
                              }  
                              // insert the table into the wrapper
      			wrapper.innerHTML = "<table>" + output_list.join('')+ "</table>";
      		 } else {
      			wrapper.innerHTML = "No Data";
      		}
      
      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      @sdetweil

      wow… works like a charm! lists all tv shows perfectly! :)
      is there any way to print a line if the regex isn’t met… ie like a movie title instead of a series title with s01e03 attached?
      and possibly limit output to 10 lines?

      Thanks,

      Richie

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      @sdetweil

      Awesome i will try and get it working tonight!

      Thanks,

      Richie

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      @sdetweil
      not a problem at all, i really appreciate your help so far in this topic and every other question ive had across the board! :thumbs_up_light_skin_tone:

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      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);
      		});
      	}
      });
      
      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      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!

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include
      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 :)

      posted in Troubleshooting
      B
      banbutcher
    • RE: .txt file include

      @sdetweil

      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 :)

      posted in Troubleshooting
      B
      banbutcher
    • RE: .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 S01E01

      else 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

      posted in Troubleshooting
      B
      banbutcher
    • 1 / 1