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 34.9k 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.
    • S Offline
      sdetweil @banbutcher
      last edited by sdetweil

      @banbutcher said in .txt file include:

      im getting “no data” maybe i messed up copying across?

      sorry, don’t understand the words…

      this is the test if the regex worked

                                     if(split)
                                        output_list.push(split)
      			       else
      			          output_list.push('name not found:'+ filename)
      

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      S 1 Reply Last reply Reply Quote 0
      • B Offline
        banbutcher
        last edited by

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

        1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @sdetweil
          last edited by sdetweil

          @banbutcher

          my fault… I ‘assumed’ that regex would return an empty string… it returns a null value…

          I fixed my sample, and your paste with the correct test

          if(split)
          

          instead of

          if(split.length>0)
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil
            last edited by

            and for others trying to implement code, you can debug using the developers console, OR make little sample files and run them directly in node

            i named this testit.js in the user home folder (~/testit.js)

            var dataFile=["Archer S01E02Someshow.tv",
            "Archer S01E03Someshow .tv",
            "Archer S01e02Someshow .tv",
            "Archer S01E04Someshow .tv",
            "Archer S01E05someshow .tv",
            "Archer s01E02Someshow .tv",
            "Archer S01E09Someshow .tv",
            ]
            var counter1=10
            
            
                                if(dataFile){
                                    var output_list= [];
                                    // should make this a config variable by adding to module defaults
                                   // then would be this.config.counter
                                   // get display limit, 10 if not specified in defaults
                                   var counter=counter1 || 10
                                    // 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 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
                                           // remove space after the ->< , the forum hides everything after unless a space
                                           // table has a row, 
                                           output_list.push("<tr><td>")
                                           // with data
                                           if(split)
                                              output_list.push(split)
                                           else 
                                               output_list.push('name not matched '+ filename)
                                           // end of data and row
                                           output_list.push("</td></tr>")
                                           counter--;
                                        } 
                                    }  
                                }
                                    // insert the table into the wrapper
                        console.log( "<table>" + output_list.join('')+ "</table>");
            

            and then

            cd ~
            node testit.js
            

            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

              Perfect!!

              now i can go to bed! :D tomorrows task will be styling with css! any pointers?

              as always… thanks again!!

              Richie

              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @banbutcher
                last edited by sdetweil

                @banbutcher said in .txt file include:

                styling with css! any pointers

                sorry, that is my weakness… I cannot make anything look good… I can tell you if it DOES look good, but cannot do it myself… I have no eye for that all…

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • 1
                • 2
                • 3
                • 4
                • 5
                • 6
                • 6 / 6
                • First post
                  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