• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

.txt file include

Scheduled Pinned Locked Moved Troubleshooting
59 Posts 6 Posters 33.1k Views 6 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    banbutcher
    last edited by Apr 16, 2020, 2:01 PM

    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

    S 1 Reply Last reply Apr 16, 2020, 2:33 PM Reply Quote 0
    • S Offline
      sdetweil @banbutcher
      last edited by sdetweil Apr 17, 2020, 11:49 AM Apr 16, 2020, 2:33 PM

      @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)]+/
      

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • B Offline
        banbutcher
        last edited by banbutcher Apr 17, 2020, 1:30 AM Apr 17, 2020, 1:29 AM

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

        S 1 Reply Last reply Apr 17, 2020, 1:47 AM Reply Quote 0
        • S Offline
          sdetweil @banbutcher
          last edited by Apr 17, 2020, 1:47 AM

          @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 array

          array.push(item)
          adds item to the end of the array

          name_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

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • B Offline
            banbutcher
            last edited by Apr 17, 2020, 2:03 AM

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

            S 1 Reply Last reply Apr 17, 2020, 2:09 AM Reply Quote 0
            • S Offline
              sdetweil @banbutcher
              last edited by Apr 17, 2020, 2:09 AM

              @banbutcher reading how

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • B Offline
                banbutcher
                last edited by banbutcher Apr 17, 2020, 2:18 AM Apr 17, 2020, 2:16 AM

                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!

                S 2 Replies Last reply Apr 17, 2020, 2:20 AM Reply Quote 0
                • S Offline
                  sdetweil @banbutcher
                  last edited by Apr 17, 2020, 2:20 AM

                  @banbutcher reading in the node_helper, sending up to the module.

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    banbutcher
                    last edited by Apr 17, 2020, 2:21 AM

                    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);
                    		});
                    	}
                    });
                    
                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil @banbutcher
                      last edited by Apr 17, 2020, 2:43 AM

                      @banbutcher I won’t have time to look at this tonight

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      B 1 Reply Last reply Apr 17, 2020, 2:59 AM Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 5 / 6
                      5 / 6
                      • First post
                        41/59
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy