Ovidiu-Constantin Novac

32 papers A 23Journal 2Unranked 7
YearRankTypeTitle / Venue / Authors
2025 J jnl
Comput.
Catalin Daniel Morar, Daniela Elena Popescu, Ovidiu-Constantin Novac, David Ghiurau
2024 A conf
ECAI
Mihaela Cornelia Novac, Marius Codrean, Ovidiu-Constantin Novac, Mihaela Codrean, Ioan Mircea Gordan, Teofil Ovidiu Gal
2024 A conf
ECAI
Ovidiu-Constantin Novac, Mihaela Cornelia Novac, Mihai Oproescu, Adrian-Cristian Mlinarcic, Cornelia Emilia Gordan, Camelia Maria Dindelegan
2024 A conf
ECAI
Marius Codrean, Mihaela Cornelia Novac, Mihaela Codrean, Ovidiu-Constantin Novac, Cornelia Emilia Gordan, Radu Sebesan
2024 A conf
ECAI
Dan-Catalin Noje, Ovidiu Gheorghe Moldovan, Ovidiu-Constantin Novac, Mihaela Cornelia Novac, Radu Catalin Tarca
2023 A conf
ECAI
Andrei Darii, Maximilian Moll, Marian Sorin Nistor, Stefan Pickl, Ovidiu-Constantin Novac, Cornelia Mihaela Novac, Mircea Gordan, Cornelia Emilia Gordan
2023 A conf
ECAI
Ovidiu-Constantin Novac, David Ghiurau, Mihaela Cornelia Novac, Cornelia Emilia Gordan, Mihai Oproescu, Gyöngyi Bujdosó, Vlad Ovidiu Mihalca
2023 A conf
ECAI
Adriana-Gabriela Plaiasu, Mihai Oproescu, Ionut Bulgaru, Ovidiu-Constantin Novac, Mihaela Cornelia Novac, Gabriel-Vasile Iana
2023 A conf
ECAI
Marius Codrean, Mihaela Cornelia Novac, Mihaela Codrean, Cornelia Emilia Gordan, Ovidiu-Constantin Novac, Gyöngyi Bujdosó, Francisc Slovac
2023 A conf
ECAI
Mihaela Cornelia Novac, Marius Codrean, Mircea Gordan, Mihaela Codrean, Mihai Oproescu, Ovidiu-Constantin Novac, Francisc Slovac
2022 J jnl
Sensors
Ovidiu-Constantin Novac, Mihai Cristian Chirodea, Cornelia Mihaela Novac, Nicu Bizon, Mihai Oproescu, Ovidiu Petru Stan, Cornelia Emilia Gordan
2022 A conf
ECAI
Valentin Calinescu, Mihai Oproescu, Gabriel-Vasile Iana, Ovidiu-Constantin Novac, Mihaela Cornelia Novac
2022 conf
CogInfoCom
Tibor Roskó, Gyöngyi Bujdosó, Cornelia Mihaela Novac, Ovidiu-Constantin Novac, Gergo József Szollosi
2022 A conf
ECAI
Ovidiu-Constantin Novac, Cornelia Mihaela Novac, Bogdan Ciora, Cornelia Emilia Gordan, Mircea Gordan, Gyöngyi Bujdosó
2021 A conf
ECAI
Lehel Szabolcs Csokmai, Cornelia Mihaela Novac, Ovidiu-Constantin Novac, Gyöngyi Bujdosó, Mihai Oproescu, Marius Codrean
2021 A conf
ECAI
Mihai Cristian Chirodea, Ovidiu-Constantin Novac, Cornelia Mihaela Novac, Nicu Bizon, Mihai Oproescu, Cornelia Emilia Gordan
2020 A conf
ECAI
Ovidiu-Constantin Novac, Cristian Chilba, Cornelia Mihaela Novac, Cornelia Gordan, Mircea Gordan, Gyöngyi Bujdosó
2020 A conf
ECAI
Mihai Catalin Arva, Nicu Bizon, Ovidiu-Constantin Novac
2020 A conf
ECAI
Mihai Oproescu, Vasile-Gabriel Iana, Nicu Bizon, Daniel-Constantin Anghel, Alexandra Sirghie, Ovidiu-Constantin Novac
2019 A conf
ECAI
Mircea Gordan, Dorina Mioara Purcaru, Marius Codrean, Cornelia Mihaela Novac, Ovidiu-Constantin Novac, Mihaela Codrean
2019 conf
CogInfoCom
Gyöngyi Bujdosó, Kata Boros, Cornelia Mihaela Novac, Ovidiu-Constantin Novac
2019 A conf
ECAI
Ovidiu-Constantin Novac, Iulian-Ioan Muresan, Cornelia Mihaela Novac, Mihai Oproescu, Cornelia Gordan, Gyöngyi Bujdosó
2019 A conf
ECAI
Ovidiu-Constantin Novac, Iulian-Ioan Muresan, Cornelia Mihaela Novac, Mircea Petru Ursu, Mihai Oproescu, Camelia Maria Dindelegan
2019 conf
CogInfoCom
Kata Boros, Gyöngyi Bujdosó, Cornelia Mihaela Novac, Ovidiu-Constantin Novac
2019 A conf
ECAI
Mihaela Cornelia Novac, Marius Codrean, Ovidiu-Constantin Novac, Mihaela Codrean, Mihai Oproescu, Gyöngyi Bujdosó
2018 A conf
ECAI
Ovidiu-Constantin Novac, Mihaela Cornelia Novac, Pintea Ionel Gabriel, Mircea Gordan
2018 A conf
ECAI
Marius Codrean, Mihaela Cornelia Novac, Ovidiu-Constantin Novac, Mihaela Codrean
2018 A conf
ECAI
Mihaela Cornelia Novac, Marius Codrean, Ovidiu-Constantin Novac, Cornelia Gordan, Mihaela Codrean
2017 conf
CogInfoCom
Gyöngyi Bujdosó, Ovidiu-Constantin Novac, Tamas Szimkovics
2009 conf
SCSS
Ovidiu-Constantin Novac, St. Vari-Kakas, Mihaela Novac, Ecaterina Vladu, Liliana Indrie
2008 conf
SCSS (2)
Mircea Curila, Sorin Curila, Ovidiu-Constantin Novac, Mihaela Novac
2008 conf
SCSS (2)
Ovidiu-Constantin Novac, St. Vari-Kakas, F. I. Hathazi, Mircea Curila, Sorin Curila
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()