Testosterone and sensitivity.
[kiosk.git] / grab_bag.py
index a427256ca0f1b1530a0e757391dc027b1391099a..b1da60c1d84909ab12d436b761f4b25e6e9df69e 100644 (file)
@@ -1,31 +1,37 @@
+#!/usr/bin/env python3
+
+import logging
 import random
+from typing import Iterable, List, Optional, Set
+
+
+logger = logging.getLogger(__name__)
 
 
 class grab_bag(object):
-    def __init__(self):
-        self.contents = set()
+    def __init__(self) -> None:
+        self.contents: Set[str] = set()
 
-    def clear(self):
+    def clear(self) -> None:
         self.contents.clear()
 
-    def add(self, item):
+    def add(self, item: str) -> None:
         if item not in self.contents:
             self.contents.add(item)
 
-    def add_all(self, collection):
+    def add_all(self, collection: Iterable[str]) -> None:
         for x in collection:
             self.add(x)
 
-    def subset(self, count):
+    def subset(self, count: int) -> Optional[List[str]]:
         if len(self.contents) < count:
             return None
-        subset = random.sample(self.contents, count)
-        return subset
+        return random.sample(self.contents, count)
 
-    def size(self):
+    def size(self) -> int:
         return len(self.contents)
 
 
 # x = grab_bag()
-# x.add_all([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
-# print x.subset(3)
+# x.add_all(["oneA", "two", "three", "oneB", "four", "five", "oneC", "oneD"])
+# print(x.subset(3))