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.

    Read local txt file from node_helper.js

    Scheduled Pinned Locked Moved Troubleshooting
    12 Posts 2 Posters 2.9k Views 2 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.
    • A Offline
      Aphamguin @sdetweil
      last edited by

      @sdetweil it seems to break the module and MM. Nothing shows up on the screen when I run it.
      Thanks for the sample module. It’s a really helpful template that I thought MM would have given us.
      It’s a simple module, but I’m just implementing its functionality in phases. At the moment I just want it to read from a local txt file, parse it into an array, and then display a chunk of text by accessing that array. So yes I’m just showing text. What is innerText? Do I just do elem.innerText(“text”)
      instead of elem.innerHTML(“text”)?

      S 3 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @Aphamguin
        last edited by sdetweil

        @Aphamguin yes elem.innerText.

        not sure what you mean by breaks mm…

        if u email me the three files I will find what the problem is.

        same user ID on gmail. rename the .js as .txt

        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 @Aphamguin
          last edited by

          @Aphamguin you did set a position for your module in config, right? else the output doesn’t get used

          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 @Aphamguin
            last edited by

            @Aphamguin the sample mm provides (hello world), uses the nunjuks template approach

            Sam

            How to add modules

            learning how to use browser developers window for css changes

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

              @sdetweil I have emailed you the main js file, the helper, and the txt file, all as txt files. I hope you got it.
              I did set a position, yes.
              Where can I get the sample mm? What is the nunjuks template approach?

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

                @Aphamguin my sample module
                https://github.com/sdetweil/SampleModule

                I don’t have any links to nunjuks.

                but basically you create a layout template with locations for variables, and then supply the data, and the template engine does that formatting
                see the helloworld module in the defaults folder

                I am working on your module. the initial problem is the data filename has to have a path, else it will be in the MagicMirror folder.

                but there is also an easier way to process your data.

                in a couple hours I will get it back to you the same way

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @sdetweil Ok I’ll play around with it then.
                  Wow great. Thanks a lot. I really appreciate it.

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

                    @Aphamguin sent back

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • A Offline
                      Aphamguin
                      last edited by

                      To conclude this issue, when reading from a local txt file with node_helper.js, you have to make sure the file name has a path. And then when parsing it, you can parse it easily by checking for carriage returns (\r) to see if if its a windows file. Here is a snippet of the solution:

                      this.rawText = fs.readFileSync(__dirname + '/localTxtFile.txt').toString()
                      this.isWindows = (this.rawText.indexOf('\r') == -1) ? false:true
                      this.variable= this.rawText.split(this.isWindows ? '\r\n\r\n' : '\n\n')
                      
                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        sdetweil @Aphamguin
                        last edited by sdetweil

                        @Aphamguin well, you think about what you are trying to accomplish,

                        I changed the file to Linux line ends. then realized u might get it from somewhere as windows line end. so added to make it work either way.

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • 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