1. 07 Mar, 2020 1 commit
  2. 08 Nov, 2019 3 commits
  3. 16 Sep, 2019 1 commit
  4. 22 Jul, 2019 1 commit
  5. 21 Jul, 2019 2 commits
  6. 19 Jul, 2019 1 commit
  7. 09 Jul, 2019 1 commit
  8. 04 Jul, 2019 1 commit
  9. 08 May, 2019 1 commit
  10. 03 May, 2019 1 commit
  11. 30 Apr, 2019 1 commit
  12. 29 Apr, 2019 2 commits
  13. 09 Mar, 2019 2 commits
  14. 06 Feb, 2019 1 commit
  15. 04 Feb, 2019 1 commit
  16. 02 Feb, 2019 3 commits
    • Nat Goodspeed's avatar
      SL-9980: SLVersionChecker.precheck() now drops Admin privilege · 4cb789a7
      Nat Goodspeed authored
      before running the viewer.
      
      When constructing a command to pass to update_manager() to run the viewer
      when no update is needed, use 'explorer.exe (viewer shortcut)' instead of
      directly passing the viewer executable.
      
      BUT because the viewer shortcut's pathname might include non-ASCII characters,
      use new PopenRunner(cwd=) param to change to the viewer install directory and
      specify the shortcut by its unqualified basename. In effect, use PopenRunner
      to bind the shortcut basename with the pathname in which it must be invoked.
      
      This means passing update_manager() a Runner instance instead of a list of
      command-line arguments. Make update_manager() accept Runner. As it previously
      bound its list of command-line arguments into a Runner instance early in the
      function body, that wasn't too hard.
      
      Change every update_manager() call accordingly.
      
      update_manager() passed its command-line arguments through to install(). Make
      install() accept a Runner instance as well.
      
      Change every install() call accordingly.
      
      install() passed its command-line arguments through to apply_update(). Make
      apply_update() accept a Runner instance as well, passing it through in turn to
      apply_linux_update(), apply_mac_update() and apply_windows_update().
      
      Change every apply_update() call accordingly.
      
      apply_linux_update() and apply_mac_update() each want to capture any passed
      command-line arguments, replacing only the executable name itself. Use new
      Runner.command() accessor to retrieve the sequence of command-line arguments.
      4cb789a7
    • Nat Goodspeed's avatar
      SL-9980: New Runner.command() method returns the original command. · 2e2139c6
      Nat Goodspeed authored
      This requires renaming the attribute used internally.
      2e2139c6
    • Nat Goodspeed's avatar
  17. 18 Jan, 2019 2 commits
  18. 17 Jan, 2019 1 commit
  19. 16 Jan, 2019 1 commit
  20. 10 Jan, 2019 1 commit
  21. 13 Dec, 2018 1 commit
  22. 11 Dec, 2018 2 commits
  23. 08 Dec, 2018 1 commit
    • Nat Goodspeed's avatar
      SL-10153: Try decoding Windows APPDATA according to Windows language. · 465ff8ed
      Nat Goodspeed authored
      On a non-English Windows system, running as a non-ASCII username, we've blown
      up trying to decode os.getenv('APPDATA') as 'utf-8'. Turns out the specific
      byte string passed in could validly be decoded as 'cp1251' instead -- but how
      to know that encoding?? AndreyK kindly experimented until we found that on his
      system, locale.getpreferredencoding() returns 'cp1251'. Solved??
      465ff8ed
  24. 05 Dec, 2018 2 commits
  25. 04 Dec, 2018 2 commits
  26. 03 Dec, 2018 2 commits
  27. 29 Nov, 2018 2 commits