All pastes #805186 Raw Edit

Untitled

public text v1 · immutable
·published 2007-12-04 03:34 UTC
rendered paste body
; Commands
;
; /wipe_all - Close databases and remove them.
; Good for starting over.

; Check if the database exists, if it doesn't, prompt for setup, else bypass it.
; This needs work, need a better way to check if we are already configured or not.
on *:START: { 
  if ($exists($scriptdirdb.ini)) { 
    init_db
  }  
  else { 
    run_setup 
  } 
}

alias run_setup {
  echo -a First time databases are being setup (New Setup)...

  writeini $qt($scriptdirdb.ini) Initalization Status Configured
  writeini $qt($scriptdirdb.ini) Databases Main $mircdirdata\main.db
  writeini $qt($scriptdirdb.ini) Databases Roster $mircdirdata\roster.db
  writeini $qt($scriptdirdb.ini) Databases Records $mircdirdata\records.db
  writeini $qt($scriptdirdb.ini) Databases Shows $mircdirdata\shows.db

  var %main_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Main)))
  var %shows_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Shows)))
  var %records_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Records)))
  var %roster_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Roster)))

  echo 2 %main_db | echo 2 %shows_db | echo 2 %records_db | echo 2 %roster_db

  if (%main_db) {
    echo -a Main Database created.
  }
  else {
    echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
  }

  if (%roster_db) {
    echo -a Roster created.
  }
  else {
    echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
  }

  if (%shows_db) {
    echo -a Shows created.
  }
  else {
    echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
  }

  if (%records_db) {
    echo -a Records created.
  }
  else {
    echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
  }
}

alias init_db {
  if ($exists($mircdirdata\main.db)) {
    echo -a Loading configuration...
  }
  else { 
    echo -a Aborting... Missing Configuration / Databases
    run_setup
  }
}

; Debugging Commands (Remove on Release)
alias kill_dll { dll -u msqlite.dll }
alias kill_mrc { unload -rs $qt($scriptdirdatabase.mrc) }
alias kill_all { kill_dll | kill_mrc }

; Done
alias wipe_all {
  sqlite_close $readini($qt($scriptdirdb.ini), Databases, Main)
  sqlite_close $readini($qt($scriptdirdb.ini), Databases, Roster)
  sqlite_close $readini($qt($scriptdirdb.ini), Databases, Shows)
  sqlite_close $readini($qt($scriptdirdb.ini), Databases, Records)
  var %i = $findfile($scriptdir,*.db,0)
  while (%i > 0) {
    $findfile($scriptdir,*.db,%i,remove $qt($1-))
    dec %i
  }
  unset %db.active
  echo remove %i
}