syncing_needed.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # Copyright © 2024 Noah Vogt <noah@noahvogt.com>
  2. # This program is free software: you can redistribute it and/or modify
  3. # it under the terms of the GNU General Public License as published by
  4. # the Free Software Foundation, either version 3 of the License, or
  5. # (at your option) any later version.
  6. # This program is distributed in the hope that it will be useful,
  7. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. # GNU General Public License for more details.
  10. # You should have received a copy of the GNU General Public License
  11. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  12. import os
  13. from utils import log
  14. import config as const
  15. def syncing_needed(offline_flag_enabled: bool) -> bool:
  16. if offline_flag_enabled:
  17. log("skipping sync with remote", color="cyan")
  18. return False
  19. log("checking for remote changes...")
  20. exit_code = os.system(
  21. 'rclone check "{}" "{}" --one-way --quiet'.format(
  22. const.RCLONE_REMOTE_DIR, const.RCLONE_LOCAL_DIR
  23. )
  24. )
  25. # rclone check returns 0 when every file is identical
  26. return exit_code != 0