Provided by: calibre_3.46.0+dfsg-1_all bug

NAME

       calibredb - calibredb

          calibredb orde [opcións] [argumentos]

       calibredb  is  the  command  line  interface  to  the  calibre  database.  It  has several
       sub-commands, documented below.

       calibredb can be used to manipulate either a calibre  database  specified  by  path  or  a
       calibre  Content  server running either on the local machine or over the internet. You can
       start a calibre Content server using either the calibre-server  program  or  in  the  main
       calibre  program  click  Connect/share   →  Start Content server. Since calibredb can make
       changes to your calibre libraries, you must setup  authentication  on  the  server  first.
       There are two ways to do that:

          · If  you plan to connect only to a server running on the same computer, you can simply
            use the --enable-local-write option of the content  server,  to  allow  any  program,
            including  calibredb,  running  on the local computer to make changes to your calibre
            data. When running the server from the  main  calibre  program,  this  option  is  in
            Preferences → Sharing over the net → Advanced.

          · If  you  want to enable access over the internet, then you should setup user accounts
            on the server and use the --username and --password options to calibredb to  give  it
            access.   You   can  setup  user  authentication  for  calibre-server  by  using  the
            --enable-auth option and using --manage-users to create the user  accounts.   If  you
            are  running the server from the main calibre program, use Preferences → Sharing over
            the net → Require username/password.

       To connect to a running Content server, pass the URL of the server to  the  --with-library
       option, see the documentation of that option for details and examples.

       · GLOBAL OPTIONS

       · list

       · add

         · ADDING FROM DIRECTORIES

       · remove

       · add_format

       · remove_format

       · show_metadata

       · set_metadata

       · export

       · catalog

         · EPUB OPTIONS

       · saved_searches

       · add_custom_column

       · custom_columns

       · remove_custom_column

       · set_custom

       · restore_database

       · check_library

       · list_categories

       · backup_metadata

       · clone

       · embed_metadata

       · search

GLOBAL OPTIONS

       --help, -h
              show this help message and exit

       --library-path, --with-library
              Path to the calibre library. Default is to use the path stored in the settings. You
              can also connect  to  a  calibre  Content  server  to  perform  actions  on  remote
              libraries.  To  do  so  use a URL of the form: http://hostname:port/#library_id for
              example, http://localhost:8080/#mylibrary. library_id is  the  library  id  of  the
              library  you  want  to  connect  to  on the Content server. You can use the special
              library_id value of - to get a list of library ids available  on  the  server.  For
              details    on    how    to    setup    access    via    a   Content   server,   see
              https://manual.calibre-ebook.com/generated/en/calibredb.html.

       --password
              Password for connecting to a calibre Content server.  To  read  the  password  from
              standard  input,  use the special value: <stdin>. To read the password from a file,
              use: <f:/path/to/file> (i.e. <f: followed by the  full  path  to  the  file  and  a
              trailing  >). The angle brackets in the above are required, remember to escape them
              or use quotes for your shell.

       --username
              Username for connecting to a calibre Content server

       --version
              show program's version number and exit

LIST

          calibredb list [opcións]

       Lista dos libros dispoñíbeis na base de datos do Calibre.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --ascending
              Ordenar resultados en orde ascendente

       --fields, -f
              The  fields  to  display  when  listing  books  in  the database. Should be a comma
              separated list of fields. Available fields: author_sort, authors, comments,  cover,
              formats,  identifiers,  isbn, languages, last_modified, pubdate, publisher, rating,
              series, series_index, size, tags, timestamp, title,  uuid  Default:  title,authors.
              The  special  field  "all"  can  be  used  to select all fields. In addition to the
              builtin fields above, custom fields are also available as *field_name, for example,
              for a custom field #rating, use the name: *rating

       --for-machine
              Generate  output in JSON format, which is more suitable for machine parsing. Causes
              the line width and separator options to be ignored.

       --limit
              The maximum number of results to display. Default: all

       --line-width, -w
              A lonxitude máxima das liñas na saída. De modo predeterminado tómase a  largura  da
              pantalla.

       --prefix
              O  prefixo  para  todas  as  rutas  de  ficheiros. Por omisión é a ruta absoluta do
              cartafol da biblioteca.

       --search, -s
              Filtrar os resultados pola consulta de busca. Para o formato da consulta de  busca,
              véxase  a  documentación  relacionada  no Manual de Usuario. O predeterminado e non
              filtrar.

       --separator
              O texto usado para separar campos. Por omisión é un espazo.

       --sort-by
              The field by which to sort the results.  Available  fields:  author_sort,  authors,
              comments,  cover,  formats,  identifiers,  isbn, languages, last_modified, pubdate,
              publisher,  rating,  series,  series_index,  size,  tags,  timestamp,  title,  uuid
              Default: id

ADD

          calibredb engade [opcións] ficheiro1 ficheiro2 ficheiro3 ...

       Engadir  os  ficheiros  especificados como libros na base de datos. Tamén pode especificar
       cartafoles, vexa as opcións relacionadas con cartafoles a seguir.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --authors, -a
              Set the authors of the added book(s)

       --cover, -c
              Path to the cover to use for the added book

       --duplicates, -d
              Engadir  os  libros  á  base de datos aínda que xa existan. A comparación realizase
              sobre o título dos libros.

       --empty, -e
              Engadir libro en branco (sen formato)

       --identifier, -I
              Set the identifiers for this book, for e.g. -I asin:XXX -I isbn:YYY

       --isbn, -i
              Set the ISBN of the added book(s)

       --languages, -l
              A comma separated list of languages (best to use ISO639 language codes, though some
              language names may also be recognized)

       --series, -s
              Set the series of the added book(s)

       --series-index, -S
              Set the series number of the added book(s)

       --tags, -T
              Set the tags of the added book(s)

       --title, -t
              Set the title of the added book(s)

   ADDING FROM DIRECTORIES
       Options  to  control the adding of books from directories. By default only files that have
       extensions of known e-book file types are added.

       --add  A filename (glob) pattern, files matching this pattern will be added when  scanning
              directories  for  files,  even  if they are not of a known e-book file type. Can be
              specified multiple times for multiple patterns.

       --ignore
              A filename (glob) pattern,  files  matching  this  pattern  will  be  ignored  when
              scanning  directories  for  files.  Can  be  specified  multiple times for multiple
              patterns. For e.g.: *.pdf will ignore all pdf files

       --one-book-per-directory, -1
              Asumir que cada cartafol ten un só libro e que todos os ficheiros do  cartafol  son
              diferentes formatos do mesmo libro

       --recurse, -r
              Procesar os cartafoles recursivamente

REMOVE

          calibredb remove ids

       Remove the books identified by ids from the database. ids should be a comma separated list
       of id numbers (you can  get  id  numbers  by  using  the  search  command).  For  example,
       23,34,57-85 (when specifying a range, the last number in the range is not included).

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --permanent
              Do not use the recycle bin

ADD_FORMAT

          calibredb add_format [options] id ebook_file

       Add the e-book in ebook_file to the available formats for the logical book  identified  by
       id.  You  can  get  id  by  using  the search command. If the format already exists, it is
       replaced, unless the do not replace option is specified.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --dont-replace
              Do not replace the format if it already exists

REMOVE_FORMAT

          calibredb remove_format [options] id fmt

       Remove  the format fmt from the logical book identified by id. You can get id by using the
       search command. fmt should be a file extension like LRF or TXT or  EPUB.  If  the  logical
       book does not have fmt available, do nothing.

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

SHOW_METADATA

          calibredb show_metadata [options] id

       Show the metadata stored in the calibre database for the book identified by id.  id is  an
       id number from the search command.

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --as-opf
              Imprimir os metadatos en formato OPF (XML)

SET_METADATA

          calibredb set_metadata [options] id [/path/to/metadata.opf]

       Set the metadata stored in the calibre database for the book identified by id from the OPF
       file  metadata.opf.  id  is an id number from the search command. You can get a quick feel
       for the OPF format by using the --as-opf switch to the show_metadata command. You can also
       set  the  metadata  of  individual  fields with the --field option. If you use the --field
       option, there is no need to specify an OPF file.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --field, -f
              The  field to set. Format is field_name:value, for example: --field tags:tag1,tag2.
              Use --list-fields to get a list of all field names. You  can  specify  this  option
              multiple  times to set multiple fields. Note: For languages you must use the ISO639
              language codes (e.g. en for English, fr for French and so on). For identifiers, the
              syntax  is --field identifiers:isbn:XXXX,doi:YYYYY. For boolean (yes/no) fields use
              true and false or yes and no.

       --list-fields, -l
              List the metadata field names that can be used with the --field option

EXPORT

          calibredb export [options] ids

       Export the books specified by ids (a comma separated list) to the filesystem.  The  export
       operation  saves all formats of the book, its cover and metadata (in an opf file). You can
       get id numbers from the search command.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --all  Exportar  todos  os  libros  da  base  de  datos,  facendo  caso  omiso da lista de
              identificacións.

       --dont-asciiize
              Normalmente Calibre converterá todos os caracteres non ASCII dos nomes de  ficheiro
              nos equivalentes ASCII. AVISO: Se  desactiva esta opción, poden producirse erros ao
              gardar, dependendo da compatibilidade para Unicode do sistema de ficheiros onde  se
              garden os libros. Se se especifica esta opción desactivase este comportamento

       --dont-save-cover
              Normally,  calibre  will  save  the  cover in a separate file along with the actual
              e-book files. Se se especifica esta opción desactivase este comportamento

       --dont-update-metadata
              Normalmente Calibre actualizará os metadatos  dos  ficheiros  gardados  segundo  os
              datos  da  biblioteca de Calibre. Fai que o gardado en disco sexa máis lento. Se se
              especifica esta opción desactivase este comportamento

       --dont-write-opf
              Normalmente Calibre escribirá os metadatos nun  fichero  OPF  separado,  xunto  cos
              ficheiros  de  libro  electrónico.  Se  se  especifica esta opción desactivase este
              comportamento

       --formats
              Lista de formatos, separados  por  comas,  para  gardar  cada  libro.  Por  omisión
              gárdanse todos os formatos dispoñíbeis.

       --progress
              Report progress

       --replace-whitespace
              Substituír os espazos por suliñados.

       --single-dir
              Exportar todos os libros nun só cartafol

       --template
              The  template  to  control the filename and directory structure of the saved files.
              Default is "{author_sort}/{title}/{title} - {authors}" which will save books into a
              per-author  subdirectory  with  filenames  containing  title  and author. Available
              controls are: {author_sort, authors, id, isbn, languages,  last_modified,  pubdate,
              publisher, rating, series, series_index, tags, timestamp, title}

       --timefmt
              The format in which to display dates. %d - day, %b - month, %m - month number, %Y -
              year. Default is: %b, %Y

       --to-dir
              Exportar os libros ao cartafol especificado. O valor predeterminado é .

       --to-lowercase
              Converter as traxectorias a minúsculas.

CATALOG

          calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options]

       Export a catalog in format specified by path/to/destination  extension.   Options  control
       how  entries  are  displayed in the generated catalog output.  Note that different catalog
       formats support different sets of options.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --ids, -i
              Lista de identificadores da base de datos, separadas por vírgulas, para o catálogo.
              Cando se declare, ignorarase --search. Valor predeterminado: todas

       --search, -s
              Filtrar  los  resultados  segundo  a  busca.  Para  o  formato  da  busca,  vexa  a
              documentación  relativa  a  buscas  no Manual de usuario. Valor predeterminado: sen
              filtrado

       --verbose, -v
              Mostrar información de saída detallada. Útil para a depuración

   EPUB OPTIONS
       --catalog-title
              Title of generated catalog used as title in metadata. Default: 'My  Books'  Applies
              to: AZW3, EPUB, MOBI output formats

       --cross-reference-authors
              Create  cross-references  in  Authors  section  for  books  with  multiple authors.
              Default: 'False' Applies to: AZW3, EPUB, MOBI output formats

       --debug-pipeline
              Save the output from different stages of the conversion pipeline to  the  specified
              directory.  Useful if you are unsure at which stage of the conversion process a bug
              is occurring. Default: 'None' Applies to: AZW3, EPUB, MOBI output formats

       --exclude-genre
              Regex describing tags to exclude as genres. Default: '[.+]|^+$' excludes  bracketed
              tags,  e.g. '[Project Gutenberg]', and '+', the default tag for read books. Applies
              to: AZW3, EPUB, MOBI output formats

       --exclusion-rules
              Specifies the rules used to exclude books from the generated catalog. The model for
              an exclusion rule is either ('<rule name>','Tags','<comma-separated list of tags>')
              or  ('<rule  name>','<custom  column>','<pattern>').   For   example:   (('Archived
              books','#status','Archived'),)  will  exclude  a book with a value of 'Archived' in
              the custom column 'status'. When multiple rules are  defined,  all  rules  will  be
              applied.  Default:  "(('Catalogs','Tags','Catalog'),)" Applies to: AZW3, EPUB, MOBI
              output formats

       --generate-authors
              Include 'Authors' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI
              output formats

       --generate-descriptions
              Include 'Descriptions' section in catalog. Default: 'False' Applies to: AZW3, EPUB,
              MOBI output formats

       --generate-genres
              Include 'Genres' section in catalog. Default: 'False' Applies to: AZW3, EPUB,  MOBI
              output formats

       --generate-recently-added
              Include  'Recently  Added'  section  in catalog. Default: 'False' Applies to: AZW3,
              EPUB, MOBI output formats

       --generate-series
              Include 'Series' section in catalog. Default: 'False' Applies to: AZW3, EPUB,  MOBI
              output formats

       --generate-titles
              Include  'Titles' section in catalog. Default: 'False' Applies to: AZW3, EPUB, MOBI
              output formats

       --genre-source-field
              Source field for 'Genres' section. Default: 'Etiquetas'  Applies  to:  AZW3,  EPUB,
              MOBI output formats

       --header-note-source-field
              Custom  field  containing  note  text  to insert in Description header. Default: ''
              Applies to: AZW3, EPUB, MOBI output formats

       --merge-comments-rule
              #<custom  field>:[before|after]:[True|False]  specifying:   <custom  field>  Custom
              field  containing  notes  to merge with Comments  [before|after] Placement of notes
              with respect to Comments  [True|False] - A  horizontal  rule  is  inserted  between
              notes and Comments Default: '::' Applies to: AZW3, EPUB, MOBI output formats

       --output-profile
              Specifies  the  output  profile.  In  some  cases, an output profile is required to
              optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a
              structured  Table  of  Contents with Sections and Articles. Default: 'None' Applies
              to: AZW3, EPUB, MOBI output formats

       --prefix-rules
              Specifies the rules used to include prefixes indicating read books, wishlist  items
              and  other  user-specified  prefixes.  The  model  for  a  prefix  rule  is ('<rule
              name>','<source field>','<pattern>','<prefix>'). When multiple rules  are  defined,
              the     first     matching     rule     will    be    used.    Default:    "(('Read
              books','tags','+',''),('Wishlist item','tags','Wishlist','×'))" Applies to:  AZW3,
              EPUB, MOBI output formats

       --preset
              Use  a  named  preset  created with the GUI catalog builder. A preset specifies all
              settings for building a catalog. Default:  'None'  Applies  to:  AZW3,  EPUB,  MOBI
              output formats

       --thumb-width
              Size  hint  (in inches) for book covers in catalog. Range: 1.0 - 2.0 Default: '1.0'
              Applies to: AZW3, EPUB, MOBI output formats

       --use-existing-cover
              Replace existing cover when generating the catalog. Default:  'False'  Applies  to:
              AZW3, EPUB, MOBI output formats

SAVED_SEARCHES

          calibredb saved_searches [options] (list|add|remove)

       Manage  the saved searches stored in this database.  If you try to add a query with a name
       that already exists, it will be replaced.

       Syntax for adding:

       calibredb saved_searches add search_name search_expression

       Syntax for removing:

       calibredb saved_searches remove search_name

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

ADD_CUSTOM_COLUMN

          calibredb add_custom_column [opcións] etiqueta nome tipo-de-dato

       Crea  un  campo  personalizado.  A  'etiqueta'  é o nome amigábel  da columna. Non debería
       conter espazos nin vírgulas. O 'nome' é o nome do campo que se amosará.  O  'tipo-de-dato'
       pode  ser  un dos seguintes: bool, comments, composite, datetime, enumeration, float, int,
       rating, series, text

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --display
              A  dictionary  of  options  to  customize  how  the  data  in  this  column will be
              interpreted. This is a JSON  string.  For  enumeration  columns,  use  --display"{\
              "enum_values\  ":[\ "val1\ ", \ "val2\ "]}" There are many options that can go into
              the display variable.The options by column type are: composite: composite_template,
              composite_sort,  make_category,contains_html, use_decorations datetime: date_format
              enumeration: enum_values, enum_colors, use_decorations  int,  float:  number_format
              text:  is_names,  use_decorations   The  best  way to find legal combinations is to
              create a custom column of the appropriate type in the GUI then look at  the  backup
              OPF for a book (ensure that a new OPF has been created since the column was added).
              You will see the JSON for the "display" for the new column in the OPF.

       --is-multiple
              Esta columna almacena datos de etiquetas  (valores  separados  por  comas).  Só  se
              aplica se el tipo de dato é texto.

CUSTOM_COLUMNS

          calibredb custom_columns [options]

       List available custom columns. Shows column labels and ids.

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --details, -d
              Mostrar detalles das columnas

REMOVE_CUSTOM_COLUMN

          calibredb remove_custom_column [options] label

       Remove the custom column identified by label. You  can  see  available  columns  with  the
       custom_columns command.

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --force, -f
              Non pedir confirmación

SET_CUSTOM

          calibredb set_custom [options] column id value

       Set the value of a custom column for the book identified by id.  You can get a list of ids
       using  the  search  command.   You  can  get  a  list  of  custom  column  names using the
       custom_columns command.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --append, -a
              Se  a  columna  almacena  valores  múltiplos,  engadir os valores especificados aos
              existentes no canto de substituílos.

RESTORE_DATABASE

          calibredb restore_database [opcións]

       Restaura a base de datos a partir dos metadatos almacenados  nos  ficheiros  OPF  en  cada
       cartafol da biblioteca do Calibre. Isto resulta útil se o seu ficheiro de metadata.db está
       danado.

       ATENCIÓN: Esta orde rexenera completamente a base de datos.  Perderanse  todas  as  buscas
       gardadas,  categorías  de  usuario,  paneis de control, axustes de conversión gardados por
       libro e receitas personalizadas. Os metadatos recuperados serán tan precisos como o  sexan
       os ficheiros OPF.

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --really-do-it, -r
              Facer a recuperación. Esta orde no se executará a menos  que  se  especifique  esta
              opción.

CHECK_LIBRARY

          calibredb check_library [opcións]

       Realiza  algunhas  comprobacións  no  sistema  de  ficheiros  que  contén  a biblioteca. O
       resultado é invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats,
       extra_formats, extra_files, missing_covers, extra_covers, failed_folders

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --csv, -c
              Saída en CSV

       --ignore_extensions, -e
              Lista de extensións para ignorar  separadas  por  vírgulas.  Valor  predeterminado:
              todas

       --ignore_names, -n
              Lista de nomes para ignorar separados por vírgulas. Valor predeterminado: todas

       --report, -r
              Lista de resultados separados por comas Valor predeterminado: all

LIST_CATEGORIES

          calibredb list_categories [opcións]

       Xera  un  informe  da  información  da  categoría  na  base  de  datos.  A información é o
       equivalente ao que se amosa no panel de etiquetas.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --categories, -r
              Comma-separated list of category lookup names. Default: all

       --csv, -c
              Saída en CSV

       --dialect
              The type of CSV file to produce. Choices: excel, excel-tab

       --item_count, -i
              Xerar  na  saída  só  o  número de elementos nunha categoría en vez de cantas veces
              aparece por elemento na categoría

       --width, -w
              A lonxitude máxima das liñas na saída. De modo predeterminado tómase a  largura  da
              pantalla.

BACKUP_METADATA

          calibredb backup_metadata [options]

       Backup  the  metadata  stored  in  the  database  into  individual OPF files in each books
       directory. This normally happens automatically, but you can  run  this  command  to  force
       re-generation of the OPF files, with the --all option.

       Note  that  there  is  normally  no  need  to  do  this,  as  the  OPF files are backed up
       automatically, every time metadata is changed.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --all  Normally, this command only operates on books that have out of date OPF files. This
              option makes it operate on all books.

CLONE

          calibredb clone path/to/new/library

       Create a clone of the current library. This creates a new, empty library that has all  the
       same custom columns, virtual libraries and other settings as the current library.

       The  cloned  library  will  contain  no  books.  If  you  want to create a full duplicate,
       including all books, then simply use your filesystem tools to copy the library folder.

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

EMBED_METADATA

          calibredb embed_metadata [options] book_id

       Update  the  metadata  in  the  actual  book  files stored in the calibre library from the
       metadata in the calibre database.  Normally, metadata is updated only when exporting files
       from  calibre,  this  command is useful if you want the files to be updated in place. Note
       that different file formats support different amounts of metadata. You can use the special
       value  'all'  for  book_id to update metadata in all books. You can also specify many book
       ids separated by spaces and  id  ranges  separated  by  hyphens.  For  example:  calibredb
       embed_metadata 1 2 10-15 23

       Whenever  you  pass arguments to calibredb that have spaces in them, enclose the arguments
       in quotation marks. For example: "/some path/with spaces"

       --only-formats, -f
              Only update metadata in files of the specified format. Specify  it  multiple  times
              for multiple formats. By default, all formats are updated.

SEARCH

          calibredb search [options] search expression

       Search the library for the specified search term, returning a comma separated list of book
       ids matching the search expression. The  output  format  is  useful  to  feed  into  other
       commands that accept a list of ids as input.

       The  search  expression can be anything from calibre's powerful search query language, for
       example: author:asimov title:robot

       Whenever you pass arguments to calibredb that have spaces in them, enclose  the  arguments
       in quotation marks. For example: "/some path/with spaces"

       --limit, -l
              The maximum number of results to return. Default is all results.

AUTHOR

       Kovid Goyal

COPYRIGHT

       Kovid Goyal