Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import os
- import sys
- import glob
- import heapq
- import time
- import platform
- def main():
- """
- List VCV plugins on your system sorted by last update date
- (Untested on Linux and Mac)
- Usage:
- listplugins.py [count]
- count number of plugins to list (default: 25)
- """
- try:
- count = int(sys.argv[-1]) if len(sys.argv) > 1 else 25
- except ValueError:
- print("argument should be a number")
- exit(1)
- if platform.system() == "Windows":
- if os.environ.get('MSYSTEM'):
- mask = os.path.join(os.environ['USERPROFILE'], "Documents", "Rack", "plugins")
- else:
- mask = os.path.expanduser("~/Documents/Rack/plugins")
- mask += "/**/plugin.dll"
- elif platform.system() == "Linux":
- mask = os.path.expanduser("~/.Rack/plugins") + "/**/plugin.so"
- elif platform.system() == "Darwin":
- mask = os.path.expanduser("~/Documents/Rack/plugins") + "/**/plugin.dylib"
- else:
- print("unknown platform")
- exit(1)
- filenames = heapq.nlargest(
- count,
- glob.glob(mask),
- key=lambda f: os.stat(f).st_mtime
- )
- for filename in filenames:
- print(
- "{} {}".format(
- time.ctime(os.stat(filename).st_mtime),
- os.path.split(os.path.dirname(filename))[-1]
- )
- )
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement