Update
This commit is contained in:
56
util.py
56
util.py
@@ -3,13 +3,11 @@
|
||||
import random
|
||||
import socket
|
||||
import netifaces as ni
|
||||
import requests
|
||||
import sys
|
||||
import exif
|
||||
import os
|
||||
import io
|
||||
from PIL import Image
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
def isPortInUse(port):
|
||||
import socket
|
||||
@@ -154,6 +152,60 @@ def set_exif_data(payload="<?php system($_GET['c']);?>", _in=None, _out=None, ex
|
||||
print("Invalid output argument.")
|
||||
|
||||
|
||||
def human_readable_size(value):
|
||||
index = 0
|
||||
suffixes = ["B", "KiB", "MiB", "GiB", "TiB"]
|
||||
while value >= 1024:
|
||||
if index >= len(suffixes) - 1:
|
||||
break
|
||||
value /= 1024.0
|
||||
index += 1
|
||||
|
||||
return "%.2f %s" % (value, suffixes[index])
|
||||
|
||||
|
||||
class CaseInsensitiveDict(dict):
|
||||
|
||||
"""Basic case-insensitive dict with strings only keys."""
|
||||
|
||||
proxy = {}
|
||||
|
||||
def __init__(self, data=None):
|
||||
super().__init__()
|
||||
if data:
|
||||
self.proxy = dict((k.lower(), k) for k in data)
|
||||
for k in data:
|
||||
self[k] = data[k]
|
||||
else:
|
||||
self.proxy = dict()
|
||||
|
||||
def __contains__(self, k):
|
||||
return k.lower() in self.proxy
|
||||
|
||||
def __delitem__(self, k):
|
||||
key = self.proxy[k.lower()]
|
||||
super(CaseInsensitiveDict, self).__delitem__(key)
|
||||
del self.proxy[k.lower()]
|
||||
|
||||
def __getitem__(self, k):
|
||||
key = self.proxy[k.lower()]
|
||||
return super(CaseInsensitiveDict, self).__getitem__(key)
|
||||
|
||||
def get(self, k, default=None):
|
||||
return self[k] if k in self else default
|
||||
|
||||
def __setitem__(self, k, v):
|
||||
super(CaseInsensitiveDict, self).__setitem__(k, v)
|
||||
self.proxy[k.lower()] = k
|
||||
|
||||
@staticmethod
|
||||
def build(labels, data):
|
||||
row = CaseInsensitiveDict()
|
||||
for key, val in zip(labels, data):
|
||||
row[key] = val
|
||||
return row
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
bin = sys.argv[0]
|
||||
if len(sys.argv) < 2:
|
||||
|
||||
Reference in New Issue
Block a user