swiftshadow 0.2.0__py3-none-any.whl → 0.2.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
swiftshadow/cache.py CHANGED
@@ -4,7 +4,7 @@ from time import sleep
4
4
 
5
5
  def getExpiry(expiryIn):
6
6
  now = datetime.now(timezone.utc)
7
- expiry = now + timedelta(minutes=expiryIn)
7
+ expiry = now + timedelta(seconds=expiryIn)
8
8
  return expiry
9
9
 
10
10
 
@@ -1,7 +1,7 @@
1
1
  from requests import get
2
2
  from random import choice
3
3
  from datetime import datetime, timezone, timedelta
4
- from pickle import dump, load
4
+ from json import dump, load
5
5
  from swiftshadow.helpers import log
6
6
  from swiftshadow.providers import Proxyscrape, Scrapingant
7
7
  import swiftshadow.cache as cache
@@ -26,7 +26,7 @@ class Proxy:
26
26
  protocol: HTTP/HTTPS protocol to filter proxies.
27
27
  maxProxies: Maximum number of proxies to store and rotate from.
28
28
  autoRotate: Rotates proxy when `Proxy.proxy()` function is called.
29
- cachePeriod: Time to cache proxies in minutes.
29
+ cachePeriod: Time to cache proxies in seconds.
30
30
 
31
31
  Returns:
32
32
  proxyClass (swiftshadow.Proxy): `swiftshadow.Proxy` class instance
@@ -45,6 +45,7 @@ class Proxy:
45
45
  self.maxProxies = maxProxies
46
46
  self.autoRotate = autoRotate
47
47
  self.cachePeriod = cachePeriod
48
+
48
49
  self.update()
49
50
 
50
51
  def checkIp(self, ip, cc, protocol):
@@ -63,9 +64,9 @@ class Proxy:
63
64
 
64
65
  def update(self):
65
66
  try:
66
- with open(".swiftshadow.dat", "rb") as file:
67
+ with open(".swiftshadow.json", "r") as file:
67
68
  data = load(file)
68
- self.expiry = data[0]
69
+ self.expiry = datetime.fromisoformat(data[0])
69
70
  expired = cache.checkExpiry(self.expiry)
70
71
  if not expired:
71
72
  log(
@@ -95,8 +96,8 @@ class Proxy:
95
96
  "No proxies found for current settings. To prevent runtime error updating the proxy list again.",
96
97
  )
97
98
  self.update()
98
- with open(".swiftshadow.dat", "wb") as file:
99
- dump([cache.getExpiry(self.cachePeriod), self.proxies], file)
99
+ with open(".swiftshadow.json", "w") as file:
100
+ dump([cache.getExpiry(self.cachePeriod).isoformat(), self.proxies], file)
100
101
  self.current = self.proxies[0]
101
102
 
102
103
  def rotate(self):
@@ -125,11 +126,3 @@ class Proxy:
125
126
  return choice(self.proxies)
126
127
  else:
127
128
  return self.current
128
-
129
-
130
- from time import sleep
131
-
132
- a = Proxy(cachePeriod=1, maxProxies=1)
133
- while True:
134
- print(a.proxy())
135
- sleep(1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: swiftshadow
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Free IP Proxy rotator for python
5
5
  Home-page: https://github.com/sachin-sankar/swiftshadow
6
6
  Author: Sachin Sankar
@@ -0,0 +1,11 @@
1
+ swiftshadow/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
+ swiftshadow/cache.py,sha256=h7eRafFVFWB9ArhaoB-nRllMBOGj4lPB2r88LC-diV8,370
3
+ swiftshadow/constants.py,sha256=FRhoYg8WNaLy8RLDD4BsANlXlY2tctBCdy7sCnkaVY0,6303
4
+ swiftshadow/helpers.py,sha256=8Sd_1FRf9wRO7mhQ42OooRJVGhOp9xVQqQYeza0_2sI,807
5
+ swiftshadow/providers.py,sha256=DpT13HtBC0VNC-SrVV-cxd-UXgJ68itxStLDZLmU5tE,1524
6
+ swiftshadow/swiftshadow.py,sha256=RxNS5YDmMtBPlb1ESsv3jj0KmaVSACjQOdkgZzB0sPw,4411
7
+ swiftshadow-0.2.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
8
+ swiftshadow-0.2.1.dist-info/METADATA,sha256=0pJvswxBMNnLAwfwnJCXJC9YvyAKDpRGz4fO2MbPOnE,2640
9
+ swiftshadow-0.2.1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
10
+ swiftshadow-0.2.1.dist-info/top_level.txt,sha256=GClzVDF5vWSzqHOwgG2ycQAAJXRxd-QOdP1h3YrHOuM,12
11
+ swiftshadow-0.2.1.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- swiftshadow/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
- swiftshadow/cache.py,sha256=raLWKjsT2tn6OCnxq1y1g8zhceeG0eDVAa4VGp1omVU,370
3
- swiftshadow/constants.py,sha256=FRhoYg8WNaLy8RLDD4BsANlXlY2tctBCdy7sCnkaVY0,6303
4
- swiftshadow/helpers.py,sha256=8Sd_1FRf9wRO7mhQ42OooRJVGhOp9xVQqQYeza0_2sI,807
5
- swiftshadow/providers.py,sha256=DpT13HtBC0VNC-SrVV-cxd-UXgJ68itxStLDZLmU5tE,1524
6
- swiftshadow/swiftshadow.py,sha256=SLxDNJ6THtZZ-KR4nGl_bBPkdkHSQ3gGPwKjESuzFRA,4487
7
- swiftshadow-0.2.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
8
- swiftshadow-0.2.0.dist-info/METADATA,sha256=YySzVK_TUCLKRAJD-G6p9uNgpR9j5F5TI2tV7SEaoGs,2640
9
- swiftshadow-0.2.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
10
- swiftshadow-0.2.0.dist-info/top_level.txt,sha256=GClzVDF5vWSzqHOwgG2ycQAAJXRxd-QOdP1h3YrHOuM,12
11
- swiftshadow-0.2.0.dist-info/RECORD,,