{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys, os\n",
    "\n",
    "sys.path.append('/Users/joel/src/thundr/tracker')\n",
    "\n",
    "tables = [\n",
    "    ('users_tw_influencers', 'eid'),\n",
    "    ('users_in_influencers', 'inid'),\n",
    "    ('users_sc_influencers', 'scid'),\n",
    "    ('users_spy_playlists', 'spyid'),\n",
    "    ('users_yt_channels', 'ytid'),\n",
    "]\n",
    "\n",
    "from tracker import db\n",
    "\n",
    "db.setup_session()\n",
    "db.Session.rollback()\n",
    "db.Session.get_bind()\n",
    "\n",
    "def run_statements(username, copyfrom):\n",
    "    statements = ['''insert into {table} (username, {column}) \n",
    "     select '{username}', {column} from {table} where username = '{copyfrom}' \n",
    "     -- and added < '2018-12-31'\n",
    "     on conflict do nothing'''.format(\n",
    "            username=username, \n",
    "            copyfrom=copyfrom, \n",
    "            table=t[0],\n",
    "            column=t[1],\n",
    "        ) for t in tables\n",
    "    ]\n",
    "    print(\"\\n\".join(statements))\n",
    "\n",
    "    for statement in statements:\n",
    "        print(statement)\n",
    "        db.Session.execute(statement)\n",
    "        \n",
    "    for table in tables:\n",
    "        print(db.Session.execute(\n",
    "            \"select '{table}', count(*) from {table} where username = :username\".format(table=table[0]), \n",
    "            params=dict(username=username)).fetchall())\n",
    "    \n",
    "\n",
    "users = [\n",
    "'ceecee',\n",
    "]\n",
    "team = 'rcauk'\n",
    "\n",
    "copyfrom = 'danmarket'\n",
    "for username in users:\n",
    "    run_statements(username, copyfrom)\n",
    "\n",
    "db.Session.commit()\n",
    "\n",
    "for username in users:\n",
    "    db.Session.add(db.User(username=username, team=team))\n",
    "\n",
    "db.Session.commit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
