{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting started" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modules " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "from pyfileindex import PyFileIndex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## User defined functions " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.811724Z", "start_time": "2019-07-16T07:48:30.802997Z" } }, "outputs": [], "source": [ "def touch(fname, times=None):\n", " with open(fname, 'a'):\n", " os.utime(fname, times)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.817677Z", "start_time": "2019-07-16T07:48:30.814717Z" } }, "outputs": [], "source": [ "def filter_function(file_name):\n", " return '.txt' in file_name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Demonstrate PyFileIndex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialise PyFileIndex" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.876397Z", "start_time": "2019-07-16T07:48:30.821033Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
1.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi = PyFileIndex(path='.', filter_function=filter_function, debug=True)\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Update PyFileIndex" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.904862Z", "start_time": "2019-07-16T07:48:30.881680Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: [] [] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
1.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## New directory " ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.916877Z", "start_time": "2019-07-16T07:48:30.910805Z" } }, "outputs": [], "source": [ "os.makedirs('bla')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.960025Z", "start_time": "2019-07-16T07:48:30.921287Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: ['/home/jovyan/notebooks/bla'] ['/home/jovyan/notebooks'] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## New sub directory " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:30.984584Z", "start_time": "2019-07-16T07:48:30.977614Z" } }, "outputs": [], "source": [ "os.makedirs('bla/bla') " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.020002Z", "start_time": "2019-07-16T07:48:30.987530Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: ['/home/jovyan/notebooks/bla/bla'] ['/home/jovyan/notebooks/bla'] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+093
3bla/home/jovyan/notebooks/bla/bla/home/jovyan/notebooks/blaTrue1.563533e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## New file" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.072509Z", "start_time": "2019-07-16T07:48:31.065381Z" } }, "outputs": [], "source": [ "touch('bla/bla/test.txt')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.116132Z", "start_time": "2019-07-16T07:48:31.076421Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: ['/home/jovyan/notebooks/bla/bla/test.txt'] ['/home/jovyan/notebooks/bla/bla'] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+093
3bla/home/jovyan/notebooks/bla/bla/home/jovyan/notebooks/blaTrue1.563533e+092
4test.txt/home/jovyan/notebooks/bla/bla/test.txt/home/jovyan/notebooks/bla/blaFalse1.563533e+091
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Another new file " ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.141975Z", "start_time": "2019-07-16T07:48:31.137624Z" } }, "outputs": [], "source": [ "touch('bla/test.txt')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.185154Z", "start_time": "2019-07-16T07:48:31.144995Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: ['/home/jovyan/notebooks/bla/test.txt'] ['/home/jovyan/notebooks/bla'] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/bla/home/jovyan/notebooks/blaTrue1.563533e+092
3test.txt/home/jovyan/notebooks/bla/bla/test.txt/home/jovyan/notebooks/bla/blaFalse1.563533e+091
4bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+093
5test.txt/home/jovyan/notebooks/bla/test.txt/home/jovyan/notebooks/blaFalse1.563533e+091
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Touch an existing file " ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.221088Z", "start_time": "2019-07-16T07:48:31.215250Z" } }, "outputs": [], "source": [ "touch('bla/bla/test.txt', (1330712280, 1330712292))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.257159Z", "start_time": "2019-07-16T07:48:31.224285Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: [] ['/home/jovyan/notebooks/bla/bla/test.txt'] []\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/bla/home/jovyan/notebooks/blaTrue1.563533e+092
3bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+093
4test.txt/home/jovyan/notebooks/bla/test.txt/home/jovyan/notebooks/blaFalse1.563533e+091
5test.txt/home/jovyan/notebooks/bla/bla/test.txt/home/jovyan/notebooks/bla/blaFalse1.330712e+091
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Remove a file " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.279808Z", "start_time": "2019-07-16T07:48:31.273368Z" } }, "outputs": [], "source": [ "os.remove('bla/bla/test.txt')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.318593Z", "start_time": "2019-07-16T07:48:31.282688Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: [] ['/home/jovyan/notebooks/bla/bla'] ['/home/jovyan/notebooks/bla/bla/test.txt']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+093
3test.txt/home/jovyan/notebooks/bla/test.txt/home/jovyan/notebooks/blaFalse1.563533e+091
4bla/home/jovyan/notebooks/bla/bla/home/jovyan/notebooks/blaTrue1.563533e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Remove a directory" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.353761Z", "start_time": "2019-07-16T07:48:31.345052Z" } }, "outputs": [], "source": [ "os.rmdir('bla/bla')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.392887Z", "start_time": "2019-07-16T07:48:31.357111Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: [] ['/home/jovyan/notebooks/bla'] ['/home/jovyan/notebooks/bla/bla']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
2test.txt/home/jovyan/notebooks/bla/test.txt/home/jovyan/notebooks/blaFalse1.563533e+091
3bla/home/jovyan/notebooks/bla/home/jovyan/notebooksTrue1.563533e+092
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean up " ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.418962Z", "start_time": "2019-07-16T07:48:31.413161Z" } }, "outputs": [], "source": [ "os.remove('bla/test.txt')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.483603Z", "start_time": "2019-07-16T07:48:31.477437Z" } }, "outputs": [], "source": [ "os.rmdir('bla')" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2019-07-16T07:48:31.451757Z", "start_time": "2019-07-16T07:48:31.421838Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Changes: [] ['/home/jovyan/notebooks'] ['/home/jovyan/notebooks/bla/test.txt' '/home/jovyan/notebooks/bla']\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
basenamepathdirnameis_directorymtimenlink
0.ipynb_checkpoints/home/jovyan/notebooks/.ipynb_checkpoints/home/jovyan/notebooksTrue1.563532e+092
1notebooks/home/jovyan/notebooks/home/jovyanTrue1.563533e+091
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pfi.update()\n", "pfi" ] }, { "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.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }