80 lines
2.5 KiB
Plaintext
80 lines
2.5 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#!pip install python-dotenv\n",
|
|
"from dotenv import load_dotenv\n",
|
|
"\n",
|
|
"# Specify the path to your .env file (optional if in the current dir)\n",
|
|
"load_dotenv(dotenv_path=\".env\", override=True)\n",
|
|
"\n",
|
|
"import os\n",
|
|
"import psycopg\n",
|
|
"from sshtunnel import SSHTunnelForwarder\n",
|
|
"\n",
|
|
"if (os.environ.get(\"SSH_TUNNEL_BASED\") == \"true\"):\n",
|
|
" print(\"SSH tunnel: True\")\n",
|
|
"else:\n",
|
|
" print(\"SSH tunnel: False\")\n",
|
|
"\n",
|
|
"connect_info = \"host={} port={} user={} password={} dbname={}\".format(os.environ.get(\"DB_HOST\"), os.environ.get(\"DB_PORT\"), os.environ.get(\"DB_USER\"), os.environ.get(\"DB_PASSWORD\"), os.environ.get(\"DB_NAME\"))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"if (os.environ.get(\"SSH_TUNNEL_BASED\") == \"true\"):\n",
|
|
" ssh_tunnel = SSHTunnelForwarder(\n",
|
|
" (os.environ.get(\"REMOTE_HOST\"), int(os.environ.get(\"REMOTE_SSH_PORT\"))), \n",
|
|
" ssh_username=os.environ.get(\"REMOTE_USERNAME\"), ssh_password=os.environ.get(\"REMOTE_PASSWORD\"), \n",
|
|
" remote_bind_address=('localhost', int(os.environ.get(\"REMOTE_PORT\"))), local_bind_address=('localhost', int(os.environ.get(\"DB_PORT\"))) \n",
|
|
" )\n",
|
|
" ssh_tunnel.start()\n",
|
|
"\n",
|
|
"try:\n",
|
|
" with psycopg.connect(connect_info) as conn:\n",
|
|
" if True:\n",
|
|
" for t in conn.execute(\"\"\"\n",
|
|
" SELECT * from URLS WHERE id IN (SELECT id_url FROM URLS_SOURCE_SEARCH INNER JOIN SEARCH ON URLS_SOURCE_SEARCH.id_search = SEARCH.id WHERE SEARCH.search LIKE '%child abuse%') LIMIT 5;\n",
|
|
" \"\"\").fetchall():\n",
|
|
" print(t)\n",
|
|
" \n",
|
|
"except Exception as e:\n",
|
|
" print(\"Err:\", str(e))\n",
|
|
"\n",
|
|
"if (os.environ.get(\"SSH_TUNNEL_BASED\") == \"true\"):\n",
|
|
" ssh_tunnel.stop()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "matitos_urls",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.12.9"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|