Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. for v in [m for m in sorted(dir(platformSpecific)) if not m.startswith('_')]:
  2. print("%-20s : %s" % (v, getattr(platformSpecific, v)))
  3.  
  4. AutoNumber : <enum 'AutoNumber'>
  5. EMBEDDED : False
  6. Enum : <enum 'Enum'>
  7. getDeltaTime : <function getDeltaTime at 0x02782F60>
  8. getTicks_ms : <function getTicks_ms at 0x02732588>
  9. initializestatic : <function initializestatic at 0x02793930>
  10. json : <module 'json' from 'C:\Program Files (x86)\python\Anaconda3\lib\json\__init__.py'>
  11. machine : isoetes
  12. os : <module 'os' from 'C:\Program Files (x86)\python\Anaconda3\lib\os.py'>
  13. platform : <module 'platform' from 'C:\Program Files (x86)\python\Anaconda3\lib\platform.py'>
  14. programmingLanguage : cpython
  15. sockets : <module 'socket' from 'C:\Program Files (x86)\python\Anaconda3\lib\socket.py'>
  16. sys : <module 'sys' (built-in)>
  17. sysname : nt
  18. time : <module 'time' (built-in)>
  19.  
  20. AutoNumber : <class 'AutoNumber'>
  21. EMBEDDED : True
  22. SortOfEnum : <class 'SortOfEnum'>
  23. json : <module 'ujson'>
  24. machine : ESP32 module with ESP32
  25. os : <module 'uos'>
  26. programmingLanguage : micropython
  27. sockets : <module 'usocket'>
  28. sys : <module 'sys'>
  29. sysname : esp32
  30. time : <module 'utime'>
  31.  
  32. AutoNumber : <class 'platformSpecific.SortOfEnum'>
  33. EMBEDDED : True
  34. SortOfEnum : <class 'platformSpecific.SortOfEnum'>
  35. getDeltaTime : <function getDeltaTime at 0x027C2150>
  36. getTicks_ms : <function getTicks_ms at 0x02595150>
  37. initializestatic : <function initializestatic at 0x027D77C8>
  38. json : <module 'json' from 'C:\Program Files (x86)\python\Anaconda3\lib\json\__init__.py'>
  39. machine : N/A
  40. os : <module 'os' from 'C:\Program Files (x86)\python\Anaconda3\lib\os.py'>
  41. programmingLanguage : cpython
  42. sockets : <module 'socket' from 'C:\Program Files (x86)\python\Anaconda3\lib\socket.py'>
  43. sys : <module 'sys' (built-in)>
  44. sysname : N/A
  45. time : <module 'time' (built-in)>
  46.  
  47. import sys
  48. import os
  49.  
  50.  
  51. programmingLanguage = sys.implementation.name
  52. EMBEDDED =(programmingLanguage == "micropython")
  53.  
  54. if not EMBEDDED:
  55. import platform
  56. import time
  57. from enum import Enum
  58. import socket as sockets # @UnusedImport
  59. import json # @UnusedImport
  60.  
  61. sysname = os.name
  62. machine = platform.node()
  63.  
  64.  
  65. def getTicks_ms():
  66. return 1000 * time.time()
  67.  
  68. def getDeltaTime(t2, t1):
  69. return t2-t1
  70.  
  71.  
  72. def initializestatic(cls):
  73. # no need to call cls.initclass()
  74. return cls
  75.  
  76. class AutoNumber(Enum):
  77. def __new__(cls, doc):
  78. value = len(cls.__members__)
  79. obj = object.__new__(cls)
  80. obj._value_ = value
  81. obj.doc = doc
  82. return obj
  83.  
  84.  
  85.  
  86. else:
  87. import utime as time # @UnresolvedImport @UnusedImport @Reimport
  88. import usocket as sockets # @UnresolvedImport @UnusedImport @Reimport
  89. import ujson as json # @UnusedImport @UnusedImport @Reimport
  90.  
  91. sysname, _, _, _, machine = os.uname() # @UndefinedVariable
  92.  
  93.  
  94. def getTicks_ms():
  95. return time.ticks_ms()
  96.  
  97. def getDeltaTime(t2, t1):
  98. return time.ticks_diff(t2, t1)
  99.  
  100.  
  101. def initializestatic(cls):
  102. cls.initclass()
  103. return cls
  104.  
  105.  
  106. class SortOfEnum():
  107.  
  108. class _EnumElement: ### (= SimpleNamespace)
  109. def __init__(self, **kwargs):
  110. self.__dict__.update(kwargs)
  111.  
  112. def __str__(self):
  113. keys = sorted(self.__dict__)
  114. items = ("{}={!r}".format(k, self.__dict__[k]) for k in keys)
  115. return "{}({})".format(type(self).__name__, ", ".join(items))
  116.  
  117. def __eq__(self, other):
  118. return self.__dict__ == other.__dict__
  119.  
  120. def __new__(cls, value):
  121. return cls.index[value]
  122.  
  123. @classmethod
  124. def initclass(cls):
  125. items = [(cmd, getattr(cls, cmd)) for cmd in dir(cls) if not cmd.startswith('_')]
  126. cls.index = []
  127. for item in enumerate(items):
  128. item = cls._EnumElement(value=item[0], name=item[1][0], doc=item[1][1])
  129. if item.name != "initclass":
  130. # print(item)
  131. setattr(cls, item.name, item)
  132. cls.index.append(item)
  133.  
  134.  
  135. AutoNumber = SortOfEnum
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement