NPMKverChecker.m 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. function NPMKverChecker()
  2. % NPMKverChecker
  3. %
  4. % Checks to see if there is a newer version of NPMK is available for
  5. % download.
  6. %
  7. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  8. % Use NPMKverChecker
  9. %
  10. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  11. % Kian Torab
  12. % support@blackrockmicro.com
  13. % Blackrock Microsystems
  14. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  15. % Version History
  16. %
  17. % 1.0.0.0: September 13, 2017
  18. % - Initial release.
  19. %
  20. % 1.0.1.0: September 13, 2017
  21. % - Fixed a crash in case there is no Internet connection.
  22. %
  23. % 1.0.2.0: January 10, 2018
  24. % - Added a clickable URL to the prompt.
  25. %
  26. % 1.1.0.0: January 27, 2020
  27. % - Only checks for a new version once a week instead of every time.
  28. %
  29. %% Variables and constants
  30. gitHubURL = 'https://github.com/BlackrockMicrosystems/NPMK/releases/latest';
  31. %% Find full path of NPMKverChecker.m
  32. fileFullPath = which('NPMKverChecker.m');
  33. fileFullPath = [fileFullPath(1:end-1) 'dat'];
  34. %% Check for the latest version fo NPMK
  35. try
  36. if exist(fileFullPath, 'file') == 2
  37. load(fileFullPath, '-mat');
  38. if floor(abs(now - datenum(checkeddate - days(1)))) > 8 %#ok<NODEF>
  39. disp('Checking for a new version of NPMK...');
  40. checkver = 1;
  41. else
  42. checkver = 0;
  43. end
  44. else
  45. checkver = 1;
  46. end
  47. if checkver
  48. FIDv = fopen('Versions.txt');
  49. verFile = fscanf(FIDv, '%s');
  50. fclose(FIDv);
  51. latestVersion = verFile(findstr('LATEST', verFile)+7:findstr('LATEST', verFile)+13);
  52. gitHubPage = urlread(gitHubURL);
  53. newVersionAvailable = findstr(latestVersion, gitHubPage);
  54. if isempty(newVersionAvailable)
  55. disp('A new version of NPMK may be available.');
  56. fprintf('Please visit <a href="%s">GitHub NPMK Page</a> to get the latest version.\n', gitHubURL)
  57. end
  58. checkeddate = datetime;
  59. save(fileFullPath, 'checkeddate');
  60. end
  61. catch
  62. end