--- /dev/null
+from collections import namedtuple\r
+\r
+class ColorError(Exception):\r
+ def __init__(self, *args, **kwargs):\r
+ """\r
+ A Exception for Color Class\r
+ """\r
+ pass\r
+class Color():\r
+ def __init__(self,args):\r
+ color=args.rstrip(" ")\r
+ self.black="#000000"\r
+\r
+ self.white="#ffffff"\r
+\r
+ self.orange_light="#ff915b"\r
+ self.orange="#ff8000"\r
+ self.orange_strong="#b35900"\r
+\r
+ self.green_light="#80ff80"\r
+ self.green="#80ff00"\r
+ self.green_strong="#00ff00"\r
+ \r
+ self.yellow_light="#ffff80"\r
+ self.yellow="#ffff00"\r
+ self.yellow_strong="#d7d700"\r
+\r
+ self.brown_light="#dd6f00"\r
+ self.brown="#804000"\r
+ self.brown_strong="#4a2500"\r
+\r
+ self.grey_light="#c0c0c0"\r
+ self.grey="#808080"\r
+ self.grey_strong="#5e5c5c"\r
+ \r
+ self.blue_light="#80ffff"\r
+ self.blue="#00ffff"\r
+ self.blue_strong="#0080ff"\r
+\r
+ self.red_light="#ff6f6f"\r
+ self.red="#ff8080"\r
+ self.red_strong="#c40000"\r
+\r
+ self.violet_light="#800080"\r
+ self.violet="#8000ff"\r
+ self.violet_strong="#400080"\r
+\r
+ self.pink_light="#ff80c0"\r
+ self.pink="#ff80ff"\r
+ self.pink_strong="#ff00ff"\r
+\r
+ if "black"==color.lower() \\r
+ \\r
+ or "white"==color.lower() \\r
+ \\r
+ or "orange_light"==color.lower() \\r
+ or "orange"==color.lower() \\r
+ or "orange_strong"==color.lower() \\r
+ \\r
+ or "green_light"==color.lower() \\r
+ or "green"==color.lower() \\r
+ or "green_strong"==color.lower() \\r
+ \\r
+ or "yellow_light"==color.lower() \\r
+ or "yellow"==color.lower() \\r
+ or "yellow_strong"==color.lower() \\r
+ \\r
+ or "brown_light"==color.lower() \\r
+ or "brown"==color.lower() \\r
+ or "brown_strong"==color.lower() \\r
+ \\r
+ or "grey_light"==color.lower()\\r
+ or "grey"==color.lower() \\r
+ or "grey_strong"==color.lower() \\r
+ \\r
+ or "blue_light"==color.lower() \\r
+ or "blue"==color.lower() \\r
+ or "blue_strong"==color.lower() \\r
+ \\r
+ or "red_light"==color.lower()\\r
+ or "red"==color.lower() \\r
+ or "red_strong"==color.lower()\\r
+ \\r
+ or "violet_light"==color.lower() \\r
+ or "violet"==color.lower() \\r
+ or "violet_strong"==color.lower() \\r
+ \\r
+ or "pink_light"==color.lower()\\r
+ or "pink"==color.lower()\\r
+ or "pink_strong"==color.lower():\r
+ exec("self.color=self."+args.lower())\r
+ elif len(color)==6:\r
+ if color[0].lower()=="f" or color[0].lower()=="a" or color[0].lower()=="b" or color[0].lower()=="c" or color[0].lower()=="d" or color[0].lower()=="e" or color[0]=="1" or color[0]=="2" or color[0]=="3" or color[0]=="4" or color[0]=="5" or color[0]=="6" or color[0]=="7" or color[1]=="8" or color[1]=="9" or color[0]=="0":\r
+ if color[1].lower()=="f" or color[1].lower()=="a" or color[1].lower()=="b" or color[1].lower()=="c" or color[1].lower()=="d" or color[1].lower()=="e" or color[1]=="1" or color[1]=="2" or color[1]=="3" or color[1]=="4" or color[1]=="5" or color[1]=="6" or color[1]=="7" or color[1]=="8" or color[1]=="9" or color[1]=="0":\r
+ if color[2].lower()=="f" or color[2].lower()=="a" or color[2].lower()=="b" or color[2].lower()=="c" or color[2].lower()=="d" or color[2].lower()=="e" or color[2]=="1" or color[2]=="2" or color[2]=="3" or color[2]=="4" or color[2]=="5" or color[2]=="6" or color[2]=="7" or color[2]=="8" or color[2]=="9" or color[2]=="0":\r
+ if color[3].lower()=="f" or color[3].lower()=="a" or color[3].lower()=="b" or color[3].lower()=="c" or color[3].lower()=="d" or color[3].lower()=="e" or color[3]=="1" or color[3]=="2" or color[3]=="3" or color[3]=="4" or color[3]=="5" or color[3]=="6" or color[3]=="7" or color[3]=="8" or color[3]=="9" or color[3]=="0":\r
+ if color[4].lower()=="f" or color[4].lower()=="a" or color[4].lower()=="b" or color[4].lower()=="c" or color[4].lower()=="d" or color[4].lower()=="e" or color[4]=="1" or color[4]=="2" or color[4]=="3" or color[4]=="4" or color[4]=="5" or color[4]=="6" or color[4]=="7" or color[4]=="8" or color[4]=="9" or color[4]=="0":\r
+ if color[5].lower()=="f" or color[5].lower()=="a" or color[5].lower()=="b" or color[5].lower()=="c" or color[5].lower()=="d" or color[5].lower()=="e" or color[5]=="1" or color[5]=="2" or color[5]=="3" or color[5]=="4" or color[5]=="5" or color[5]=="6" or color[5]=="7" or color[5]=="8" or color[5]=="9" or color[5]=="0":\r
+ self.color=args\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ elif len(color)==7\\r
+ and color[0]=="#":\r
+ if color[1].lower()=="f" or color[1].lower()=="a" or color[1].lower()=="b" or color[1].lower()=="c" or color[1].lower()=="d" or color[1].lower()=="e" or color[1]=="1" or color[1]=="2" or color[1]=="3" or color[1]=="4" or color[1]=="5" or color[1]=="6" or color[1]=="7" or color[1]=="8" or color[1]=="9" or color[1]=="0":\r
+ if color[2].lower()=="f" or color[2].lower()=="a" or color[2].lower()=="b" or color[2].lower()=="c" or color[2].lower()=="d" or color[2].lower()=="e" or color[2]=="1" or color[2]=="2" or color[2]=="3" or color[2]=="4" or color[2]=="5" or color[2]=="6" or color[2]=="7" or color[2]=="8" or color[2]=="9" or color[2]=="0":\r
+ if color[3].lower()=="f" or color[3].lower()=="a" or color[3].lower()=="b" or color[3].lower()=="c" or color[3].lower()=="d" or color[3].lower()=="e" or color[3]=="1" or color[3]=="2" or color[3]=="3" or color[3]=="4" or color[3]=="5" or color[3]=="6" or color[3]=="7" or color[3]=="8" or color[3]=="9" or color[3]=="0":\r
+ if color[4].lower()=="f" or color[4].lower()=="a" or color[4].lower()=="b" or color[4].lower()=="c" or color[4].lower()=="d" or color[4].lower()=="e" or color[4]=="1" or color[4]=="2" or color[4]=="3" or color[4]=="4" or color[4]=="5" or color[4]=="6" or color[4]=="7" or color[4]=="8" or color[4]=="9" or color[4]=="0":\r
+ if color[5].lower()=="f" or color[5].lower()=="a" or color[5].lower()=="b" or color[5].lower()=="c" or color[5].lower()=="d" or color[5].lower()=="e" or color[5]=="1" or color[5]=="2" or color[5]=="3" or color[5]=="4" or color[5]=="5" or color[5]=="6" or color[5]=="7" or color[5]=="8" or color[5]=="9" or color[5]=="0":\r
+ if color[6].lower()=="f" or color[6].lower()=="a" or color[6].lower()=="b" or color[6].lower()=="c" or color[6].lower()=="d" or color[6].lower()=="e" or color[6]=="1" or color[6]=="2" or color[6]=="3" or color[6]=="4" or color[6]=="5" or color[6]=="6" or color[6]=="7" or color[6]=="8" or color[6]=="9" or color[6]=="0":\r
+ self.color=args\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ else:\r
+ raise ColorError("""\r
+Unknow color: {}\r
+ ^""".format(color))\r
+ def change(self,args):\r
+ color=args\r
+ if "black" in color or "white" in color or "green" in color or "yellow" in color or "brown" in color or "grey" in color or "blue" in color or "red" in color or "violet" in color or "pink" in color:\r
+ exec("self.color=self."+args)\r
+ elif len(color)==6\\r
+ and color[1].lower()=="f" or color[0]=="f" or color[0]=="1" or color[0]=="2" or color[0]=="3" or color[0]=="4" or color[0]=="5" or color[0]=="6" or color[0]=="7" or color[1]=="8" or color[1]=="9" or color[0]=="0"\\r
+ and color[1].lower()=="f" or color[1]=="f" or color[1]=="1" or color[1]=="2" or color[1]=="3" or color[1]=="4" or color[1]=="5" or color[1]=="6" or color[1]=="7" or color[1]=="8" or color[1]=="9" or color[1]=="0"\\r
+ and color[2].lower()=="f" or color[2]=="f" or color[2]=="1" or color[2]=="2" or color[2]=="3" or color[2]=="4" or color[2]=="5" or color[2]=="6" or color[2]=="7" or color[2]=="8" or color[2]=="9" or color[2]=="0"\\r
+ and color[3].lower()=="f" or color[3]=="f" or color[3]=="1" or color[3]=="2" or color[3]=="3" or color[3]=="4" or color[3]=="5" or color[3]=="6" or color[3]=="7" or color[3]=="8" or color[3]=="9" or color[3]=="0"\\r
+ and color[4].lower()=="f" or color[4]=="f" or color[4]=="1" or color[4]=="2" or color[4]=="3" or color[4]=="4" or color[4]=="5" or color[4]=="6" or color[4]=="7" or color[4]=="8" or color[4]=="9" or color[4]=="0"\\r
+ and color[5].lower()=="f" or color[5]=="f" or color[5]=="1" or color[5]=="2" or color[5]=="3" or color[5]=="4" or color[5]=="5" or color[5]=="6" or color[5]=="7" or color[5]=="8" or color[5]=="9" or color[5]=="0":\r
+ self.color=args\r
+ elif len(color)==7\\r
+ and color[0]=="#"\\r
+ and color[1].lower()=="f" or color[1]=="f" or color[1]=="1" or color[1]=="2" or color[1]=="3" or color[1]=="4" or color[1]=="5" or color[1]=="6" or color[1]=="7" or color[1]=="8" or color[1]=="9" or color[1]=="0"\\r
+ and color[2].lower()=="f" or color[2]=="f" or color[2]=="1" or color[2]=="2" or color[2]=="3" or color[2]=="4" or color[2]=="5" or color[2]=="6" or color[2]=="7" or color[2]=="8" or color[2]=="9" or color[2]=="0"\\r
+ and color[3].lower()=="f" or color[3]=="f" or color[3]=="1" or color[3]=="2" or color[3]=="3" or color[3]=="4" or color[3]=="5" or color[3]=="6" or color[3]=="7" or color[3]=="8" or color[3]=="9" or color[3]=="0"\\r
+ and color[4].lower()=="f" or color[4]=="f" or color[4]=="1" or color[4]=="2" or color[4]=="3" or color[4]=="4" or color[4]=="5" or color[4]=="6" or color[4]=="7" or color[4]=="8" or color[4]=="9" or color[4]=="0"\\r
+ and color[5].lower()=="f" or color[5]=="f" or color[5]=="1" or color[5]=="2" or color[5]=="3" or color[5]=="4" or color[5]=="5" or color[5]=="6" or color[5]=="7" or color[5]=="8" or color[5]=="9" or color[5]=="0"\\r
+ and color[6].lower()=="f" or color[6]=="f" or color[6]=="1" or color[6]=="2" or color[6]=="3" or color[6]=="4" or color[6]=="5" or color[6]=="6" or color[6]=="7" or color[6]=="8" or color[6]=="9" or color[6]=="0":\r
+ self.color=args\r
+ else:\r
+ self.color="#000000"\r
+ def get(self):\r
+ return self.color\r
+ def return_color_name(self):\r
+#white and black\r
+ if self.black==self.color.lower() or self.black=="#"+self.color:\r
+ self.name="black"\r
+ elif self.white==self.color.lower() or self.white=="#"+self.color:\r
+ self.name="white"\r
+#orange\r
+ elif self.orange_light==self.color.lower() or self.orange_light=="#"+self.color:\r
+ self.name="orange_light"\r
+ elif self.orange==self.color.lower() or self.orange=="#"+self.color:\r
+ self.name="orange"\r
+ elif self.orange_strong==self.color.lower() or self.orange_strong=="#"+self.color:\r
+ self.name="orange_strong"\r
+#green\r
+ elif self.green_light==self.color.lower() or self.green_light=="#"+self.color:\r
+ self.name="green_light"\r
+ elif self.green==self.color.lower() or self.green=="#"+self.color:\r
+ self.name="green"\r
+ elif self.green_strong==self.color.lower() or self.green_strong=="#"+self.color:\r
+ self.name="green_strong"\r
+#yellow\r
+ elif self.yellow_light==self.color.lower() or self.yellow_light=="#"+self.color:\r
+ self.name="yellow_light"\r
+ elif self.yellow==self.color.lower() or self.yellow=="#"+self.color:\r
+ self.name="yellow"\r
+ elif self.yellow_strong==self.color.lower() or self.yellow_strong=="#"+self.color:\r
+ self.name="yellow_strong"\r
+#brown\r
+ elif self.brown_light==self.color.lower() or self.brown_light=="#"+self.color:\r
+ self.name="brown_light"\r
+ elif self.brown==self.color.lower() or self.brown=="#"+self.color:\r
+ self.name="brown"\r
+ elif self.brown_strong==self.color.lower() or self.brown_strong=="#"+self.color:\r
+ self.name="brown_strong"\r
+#grey\r
+ elif self.grey_light==self.color.lower() or self.grey_light=="#"+self.color:\r
+ self.name="grey_light"\r
+ elif self.grey==self.color.lower() or self.grey=="#"+self.color:\r
+ self.name="grey"\r
+ elif self.grey_strong==self.color.lower() or self.grey_strong=="#"+self.color:\r
+ self.name="grey_strong"\r
+#blue\r
+ elif self.blue_light==self.color.lower() or self.blue_light=="#"+self.color:\r
+ self.name="blue_light"\r
+ elif self.blue==self.color.lower() or self.blue=="#"+self.color:\r
+ self.name="blue"\r
+ elif self.blue_strong==self.color.lower() or self.blue_strong=="#"+self.color:\r
+ self.name="blue_strong"\r
+#red\r
+ elif self.red_light==self.color.lower() or self.red_light=="#"+self.color:\r
+ self.name="red_light"\r
+ elif self.red==self.color.lower() or self.red=="#"+self.color:\r
+ self.name="red"\r
+ elif self.red_strong==self.color.lower() or self.red_strong=="#"+self.color:\r
+ self.name="red_strong"\r
+#violet\r
+ elif self.violet_light==self.color.lower() or self.violet_light=="#"+self.color:\r
+ self.name="violet_light"\r
+ elif self.violet==self.color.lower() or self.violet=="#"+self.color:\r
+ self.name="violet"\r
+ elif self.violet_strong==self.color.lower() or self.violet_strong=="#"+self.color:\r
+ self.name="violet_strong"\r
+#pink\r
+ elif self.pink_light==self.color.lower() or self.pink_light=="#"+self.color:\r
+ self.name="pink_light" \r
+ elif self.pink==self.color.lower() or self.pink=="#"+self.color:\r
+ self.name="pink" \r
+ elif self.pink_strong==self.color.lower() or self.pink_strong=="#"+self.color:\r
+ self.name="pink_strong" \r
+ else:\r
+ self.name=self.color\r
+ return self.name\r
+ def invert(self):\r
+ color=self.color\r
+ self.colut=""\r
+ for i in color:\r
+ i=i.lower()\r
+ if i=="0":\r
+ self.colut=self.colut+"f"\r
+ if i=="1":\r
+ self.colut=self.colut+"e"\r
+ if i=="2":\r
+ self.colut=self.colut+"d"\r
+ if i=="3":\r
+ self.colut=self.colut+"c"\r
+ if i=="4":\r
+ self.colut=self.colut+"b"\r
+ if i=="5":\r
+ self.colut=self.colut+"a"\r
+ if i=="6":\r
+ self.colut=self.colut+"9"\r
+ if i=="7":\r
+ self.colut=self.colut+"8"\r
+ if i=="8":\r
+ self.colut=self.colut+"7"\r
+ if i=="9":\r
+ self.colut=self.colut+"6"\r
+ if i=="f":\r
+ self.colut=self.colut+"0"\r
+ if i=="a":\r
+ self.colut=self.colut+"5"\r
+ if i=="b":\r
+ self.colut=self.colut+"4"\r
+ if i=="c":\r
+ self.colut=self.colut+"3"\r
+ if i=="d":\r
+ self.colut=self.colut+"2"\r
+ if i=="e":\r
+ self.colut=self.colut+"1"\r
+ self.color=self.colut\r
+ def rgb(self):\r
+ col=namedtuple("RGB","Red Green Blue")\r
+ lv = len(self.color)\r
+ rgb=tuple(int(self.color[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))\r
+ return col(*rgb)\r
+\r
+\r
+col=Color("5e5c5c")\r
+\r
+col.invert()\r
+print(col.get())
\ No newline at end of file