Jonas Havelka
3 years ago
4 changed files with 0 additions and 427 deletions
File diff suppressed because one or more lines are too long
@ -1,65 +0,0 @@ |
|||
import os |
|||
import datetime |
|||
import sqlite3 |
|||
|
|||
from django.utils.html import escape |
|||
|
|||
from seminar import ovvpfile |
|||
from seminar.models import Problem |
|||
from seminar.utils import roman, from_roman |
|||
|
|||
|
|||
# MM_ZADANIA.TYP |
|||
typtable={'1': Problem.TYP_ULOHA, '2':Problem.TYP_TEMA, '3':Problem.TYP_SERIAL} |
|||
|
|||
# MM_DOZ.ZARADENIE, MM_AZAD.ZAMERANIE |
|||
def dectag(x): |
|||
return ["MFIOTKPZD"[bi] for bi in range(0, 9) if (int(x) & (1 << bi))] |
|||
|
|||
# Datum z formatu "DD.MM.YY" |
|||
def transdate(s): |
|||
if '.' not in s: return None |
|||
d,m,r = map(int, s.split('.')) |
|||
return datetime.date(r + 2000 if r < 30 else r + 1900, m, d) |
|||
|
|||
class SQLiteRow(object): |
|||
def __unicode__(self): |
|||
return self.__dict__.__unicode__() |
|||
def __str__(self): |
|||
return self.__dict__.__str__() |
|||
def __repr__(self): |
|||
return self.__dict__.__str__() |
|||
|
|||
# sqlite3 helper |
|||
def sqget(db, sql, limit=None): |
|||
c = db.execute(sql) |
|||
rows = c.fetchmany(limit) if limit else c.fetchall() |
|||
res = [] |
|||
for row in rows: |
|||
o = SQLiteRow() |
|||
for coli in range(len(c.description)): |
|||
col = c.description[coli] |
|||
o.__setattr__(col[0], row[coli]) |
|||
res.append(o) |
|||
return res |
|||
|
|||
## ovvpfile - based import helpers (old) |
|||
|
|||
def read_all_tables(basedir): |
|||
tables = {} |
|||
for fn in os.listdir(basedir): |
|||
if fn.endswith('.csv'): |
|||
print "Reading %s ..." % (fn, ) |
|||
with open(os.path.join(basedir, fn), 'r') as f: |
|||
o = ovvpfile.parse(f, with_headers=False) |
|||
tables[fn[:-4]] = o.rows |
|||
print " %d lines, columns: %s" % (len(o.rows), ' '.join(o.columns), ) |
|||
return tables |
|||
|
|||
def matchrows(tab, key, val): |
|||
return [r for r in tab if r[key]==val] |
|||
|
|||
def onerow(tab, key, val): |
|||
t = matchrows(tab, key, val) |
|||
assert(len(t) == 1) |
|||
return t[0] |
@ -1,54 +0,0 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
# RUN AS: |
|||
# |
|||
# ORACLE_HOME=/nfs/nikam/sw/oracle-10.2/ora_home_10.2/ LC_ALL=C AESOP_PASSWD=<password-of-MAMOPER> perl oracle_dump |
|||
# |
|||
|
|||
use strict; |
|||
use warnings; |
|||
use utf8; |
|||
|
|||
use lib '/nfs/nikam/sw/oracle-10.2/perl/lib/perl'; |
|||
use DBI; |
|||
use DBD::Oracle qw(:ora_types); |
|||
$ENV{'NLS_LANG'}='CZECH.UTF8'; |
|||
|
|||
|
|||
my $pass = $ENV{'AESOP_PASSWD'} // die "You must set AESOP_PASSWD\n"; |
|||
my $dbh = DBI->connect('dbi:Oracle:host=mffout.karlov.mff.cuni.cz;service_name=mffout.karlov.mff.cuni.cz;port=1521', |
|||
'mamoper', $pass, {ora_connect_with_default_signals => [ 'INT' ], 'LongReadLen' => 1000000 }) or die; |
|||
|
|||
$, = "\t"; |
|||
$\ = "\n"; |
|||
my $dump_directory = "oracle_dks_dump"; |
|||
mkdir $dump_directory unless -d $dump_directory; |
|||
|
|||
sub dump_table($){ |
|||
my $name = shift; |
|||
print $name; |
|||
my $filename = $dump_directory."/".$name.".csv"; |
|||
open(my $fh, ">:encoding(UTF-8)", $filename); |
|||
select $fh; |
|||
my $query = $dbh->prepare("SELECT * FROM $name"); |
|||
$query->execute; |
|||
print @{$query->{NAME}}; |
|||
print @{$query->{TYPE}}; |
|||
while (my @row = $query->fetchrow_array()) { |
|||
$_//='' for @row; |
|||
s/\t/\\t/g for @row; |
|||
s/\n/\\n/g for @row; |
|||
print @row; |
|||
} |
|||
select STDOUT; |
|||
close $fh; |
|||
} |
|||
|
|||
# my $query = $dbh->prepare("SELECT table_name, TABLESPACE_NAME FROM all_tables WHERE owner='MAMOPER'"); |
|||
my $query = $dbh->prepare("SELECT table_name, owner FROM all_tables"); |
|||
$query->execute; |
|||
while (my @row = $query->fetchrow_array()) { |
|||
if (!( $row[1] eq 'SYS')) { |
|||
dump_table "$row[1].$row[0]"; |
|||
} |
|||
} |
Loading…
Reference in new issue