joshuadunlop commited on
Commit
9721517
·
verified ·
1 Parent(s): 243850a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -15
app.py CHANGED
@@ -2,7 +2,6 @@ import streamlit as st
2
  import pandas as pd
3
  import requests
4
  import base64
5
- import re
6
 
7
  def get_backlinks(api_login, api_key, target_url, filters):
8
  # Encoding credentials
@@ -75,7 +74,7 @@ api_login = st.sidebar.text_input("API Login", value="[email protected]
75
  api_key = st.sidebar.text_input("API Key", type="password")
76
 
77
  # Filters input
78
- url_from_exclusions = st.sidebar.text_area("Exclude URLs containing (newline-separated)")
79
  is_lost = st.sidebar.checkbox("Is Lost", value=False)
80
  dofollow = st.sidebar.checkbox("Dofollow", value=True)
81
  backlink_spam_score = st.sidebar.slider("Backlink Spam Score ≤", 0, 100, 10)
@@ -85,15 +84,10 @@ is_broken = st.sidebar.checkbox("Is Broken", value=False)
85
  # Prepare filters for API call
86
  filters = []
87
 
88
- if url_from_exclusions:
89
- exclusion_list = [exclusion.strip() for exclusion in re.split('[,\n]+', url_from_exclusions)]
90
- # Construct a complex filter condition for exclusions
91
- for url in exclusion_list:
92
- filters.append(["url_from", "not_like", url])
93
- filters.append("or")
94
- # Remove the last "or" if it's the last element
95
- if filters[-1] == "or":
96
- filters.pop()
97
 
98
  if is_lost:
99
  filters.append(["is_lost", "=", is_lost])
@@ -107,12 +101,12 @@ if is_broken:
107
  filters.append(["is_broken", "=", is_broken])
108
  filters.append("and")
109
 
110
- page_from_rank_operator = st.sidebar.selectbox("Page From Rank Operator", ['>=','<', '<=', '>', '=', '<>', 'in', 'not_in'])
111
  page_from_rank_value = st.sidebar.number_input("Page From Rank Value", value=0)
112
  filters.append(["page_from_rank", page_from_rank_operator, page_from_rank_value])
113
  filters.append("and")
114
 
115
- domain_from_rank_operator = st.sidebar.selectbox("Domain From Rank Operator", ['>=','<', '<=', '>', '=', '<>', 'in', 'not_in'])
116
  domain_from_rank_value = st.sidebar.number_input("Domain From Rank Value", value=0)
117
  filters.append(["domain_from_rank", domain_from_rank_operator, domain_from_rank_value])
118
  filters.append("and")
@@ -125,8 +119,6 @@ filters.append(["page_from_language", "=", page_from_language])
125
  if filters and filters[-1] == "and":
126
  filters.pop()
127
 
128
- st.write("Final Filters: ", filters) # For debugging, to see the final structure of filters
129
-
130
  # Main app layout
131
  col1, col2 = st.columns(2)
132
 
 
2
  import pandas as pd
3
  import requests
4
  import base64
 
5
 
6
  def get_backlinks(api_login, api_key, target_url, filters):
7
  # Encoding credentials
 
74
  api_key = st.sidebar.text_input("API Key", type="password")
75
 
76
  # Filters input
77
+ url_from_not_contain = st.sidebar.text_input("URL from does not contain (comma-separated)")
78
  is_lost = st.sidebar.checkbox("Is Lost", value=False)
79
  dofollow = st.sidebar.checkbox("Dofollow", value=True)
80
  backlink_spam_score = st.sidebar.slider("Backlink Spam Score ≤", 0, 100, 10)
 
84
  # Prepare filters for API call
85
  filters = []
86
 
87
+ if url_from_not_contain:
88
+ for url in url_from_not_contain.split(','):
89
+ filters.append(["url_from", "not_like", url.strip()])
90
+ filters.append("and")
 
 
 
 
 
91
 
92
  if is_lost:
93
  filters.append(["is_lost", "=", is_lost])
 
101
  filters.append(["is_broken", "=", is_broken])
102
  filters.append("and")
103
 
104
+ page_from_rank_operator = st.sidebar.selectbox("Page From Rank Operator", ['<', '<=', '>', '>=', '=', '<>', 'in', 'not_in'])
105
  page_from_rank_value = st.sidebar.number_input("Page From Rank Value", value=0)
106
  filters.append(["page_from_rank", page_from_rank_operator, page_from_rank_value])
107
  filters.append("and")
108
 
109
+ domain_from_rank_operator = st.sidebar.selectbox("Domain From Rank Operator", ['<', '<=', '>', '>=', '=', '<>', 'in', 'not_in'])
110
  domain_from_rank_value = st.sidebar.number_input("Domain From Rank Value", value=0)
111
  filters.append(["domain_from_rank", domain_from_rank_operator, domain_from_rank_value])
112
  filters.append("and")
 
119
  if filters and filters[-1] == "and":
120
  filters.pop()
121
 
 
 
122
  # Main app layout
123
  col1, col2 = st.columns(2)
124